在我的项目中,我必须从我的IndexedDB数据创建一个XML文件。我将该XML文件传递给我的WebService,它将我的数据保存到我的服务器上。作为回报,我还想读取并解析我的WebService发送的XML文件(或数据)。所以给我一些建议.. < / p>
答案 0 :(得分:1)
为什么不编写REST服务?这将使indexeddb更容易接口。在服务上,您可以将json数据解析为可以保存到数据库中的对象。
答案 1 :(得分:1)
IDB“对象存储”只能存储JavaScript对象。要将XML数据保存到IDB数据库,您需要将XML对象转换为JavaScript对象。该功能将取决于您的XML需求 - 没有一种通用的XML转换方法。
通常,follow the advice I laid out for you here将XML对象转换为JSON表示:
例如,如果您的SQL表看起来像这样:
+------+--------+--------+ | | ColA | ColB | +------+--------+--------+ | Row1 | CellA1 | CellB1 | | Row2 | CellA2 | CellB2 | | Row3 | CellA3 | CellB3 | +------+--------+--------+
您的JavaScript对象可能如下所示:
var myObjectToStore = { 'Row1': { 'ColA': 'CellA1', 'ColB': 'CellB1' }, 'Row2': { 'ColA': 'CellA2', 'ColB': 'CellB2' }, 'Row3': { 'ColA': 'CellA3', 'ColB': 'CellB3' } };
该对象的JSON表示非常相似:
{ "Row1": { "ColA": "CellA1", "ColB": "CellB1" }, "Row2": { "ColA": "CellA2", "ColB": "CellB2" }, "Row3": { "ColA": "CellA3", "ColB": "CellB3" } }
如果没有这样的序列化,使用JavaScript对象要容易得多。我强烈建议通过网络而不是XML来探索使用JSON。
现代浏览器都支持JSON.parse()
和JSON.stringify
,大多数网络服务器都可以处理application/json
mimetype。