如何在IOS中存储sqlite数据库中存储的xml解析器数据?

如何在IOS中存储sqlite数据库中存储的xml解析器数据?,ios,objective-c,xml,sqlite,Ios,Objective C,Xml,Sqlite,我想在Sqlite数据库中插入xml数据 例如: UPDATE OBJ_ART SET TITLE = '<?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US,fr_FR," default-locale="en_US"><Title language-id="en_US">Distribution Sing EN</Title><Title language

我想在Sqlite数据库中插入xml数据

例如:

UPDATE OBJ_ART SET TITLE = '<?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US,fr_FR," default-locale="en_US"><Title language-id="en_US">Distribution Sing EN</Title><Title language-id="fr_FR">Distribution Bâtiment</Title></root>', CONTENT = ‘ABCD’, STRUCT_ID = 12709, DISPLAY_DATE = 1422890 WHERE ART_ID = 12716
更新对象艺术集标题='Distribution Sing EndDistribution B–timent',内容='ABCD',结构ID=12709,显示日期=1422890,其中艺术ID=12716

您能告诉我如何将xml解析器数据存储在sqlite数据库中吗?

使用sqlite时,通常应避免使用
stringWithFormat
构建SQL语句,而应使用类似SQL的语句:

UPDATE OBJ_ART SET TITLE = ?, CONTENT = ?, STRUCT_ID = ?, DISPLAY_DATE = ? WHERE ART_ID = ?
然后,可以使用SQLite函数等将值绑定到SQL中的
占位符。这将优雅地处理碰巧带有引号的值

因此,调用
sqlite3\u prepare\u v2
来准备SQL语句,然后为每个列调用
sqlite3\u bind\u xxx
,然后调用
sqlite3\u step
来执行SQL,完成后,调用
sqlite3\u finalize
来释放与该语句相关的内存


更简单的是,使用类似的库,这大大简化了此过程。

如果要在Sqlite中插入或更新XML数据。你只需要遵守一些规则

我的例子是:

UPDATE OBJ_ART SET TITLE ='&lt;?xml version=&apos;1.0&apos; encoding=&apos;UTF-8&apos;?&gt;&lt;root available-locales=&quot;en_US,fr_FR,&quot; default-locale=&quot;en_US&quot;&gt;&lt;Title language-id=&quot;en_US&quot;&gt;Distribution Sing EN&lt;/Title&gt;&lt;Title language-id=&quot;fr_FR&quot;&gt;Distribution Bâtiment&lt;/Title&gt;&lt;/root&gt;', CONTENT = ‘ABCD’, STRUCT_ID = 12709, DISPLAY_DATE = 1422890 WHERE ART_ID = 12716
这是一个简单的方法。您只需将XML标记替换为HTML实体

HTML entities:

 1. < ----- replace to ---- &lt;
 2. > ----- replace to ---- &gt;
 3. " ----- replace to ---- &quot;
 4. ' ----- replace to ---- &apos;
HTML实体:
1. < ----- 替换为--
2. > ----- 替换为--
3.“----替换为--”
4. ' ----- 替换为--&apos;

我希望它能起作用。在发送SOAP操作的每个地方,您都必须执行相同的操作。

您要存储哪个?原始XML文本还是某种形式的解析数据?你的问题不清楚。不管是哪种方式,请使用您尝试过的相关代码更新您的问题,并解释您遇到的问题。。。。因此,要根据ID.XML数据更新数据库,我需要在sqlite@rmaddy当前位置你知道答案吗?正如我所说的,用你迄今为止的尝试更新你的问题。解释代码中存在的问题。当XML字符串存储在数据库表中时,它没有什么特别之处。有很多很多关于如何使用SQLite的例子。@rmaddy:我已经给出了我的答案,它工作得很好。为什么?没有必要这样做。只需将XML字符串原样存储到数据库中即可。罗布的回答告诉你正确的解决方法,这是不可能的。我们尝试了不同的方法。我希望这是唯一的解决办法。是的,这是可能的,而且很简单。但是在多次请求后,您拒绝发布问题代码,因此没有人可以帮助您解决问题。@rmaddy:我尝试了您的方法。。我没有得到结果。你能详细说明你的答案吗?