大家好我会非常感谢这里的帮助,我正在尝试解析 XML 并将结果放入我正在开发的应用程序(Phonegap/JQuery 移动应用程序)的数据库中。有人可以告诉我如何在 JS 函数中执行此操作吗?
我了解 XML 的解析过程,但是我对将其本地存储到 phonegap 允许您访问的 SQLlite 数据库中有点迷茫。这是我正在使用的 XML:
<?xml version="1.0" encoding="UTF-8"?>
<orders>
<order>
<orderId>123456789</orderId>
<city>Cincinnati</city>
<state>Ohio</state>
<zip>45451</zip>
</order>
</orders>
这是一个解析这个的 JS 函数:
$(document).ready(function(){
$.ajax({
type: "GET",
url: "testOrders.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('order').each(function(){
orderId = $(this).find("orderId").text();
city = $(this).find("city").text();
state = $(this).find("state").text();
zip = $(this).find("zip").text();
$("#acceptedOrdersContent").append('<div>');
$("#acceptedOrdersContent").append('<h3>'OrderId: '+ orderId + '</h3>');
$("#acceptedOrdersContent").append('<p>');
$("#acceptedOrdersContent").append('City: '+ city + '<br />');
$("#acceptedOrdersContent").append('State: '+ state + '<br />');
$("#acceptedOrdersContent").append('Zip: '+ zip +'<br />');
$("#acceptedOrdersContent").append('</p>');
$("#acceptedOrdersContent").append('</div>');
});
}
});
});
谢谢大家!
最佳答案
创建数据库:
var db = openDatabase('PhoneGap_db', '1.0', '', 2 * 1024 * 1024);
创建表:
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS orders (id unique, city, state, zip)');
});
插入表格:
db.transaction(function (tx) {
tx.executeSql('INSERT INTO orders (id, city, state, zip) VALUES (orderId,city,state,zip)');
});
最好将 INSERT 放在 AJAX 的回调中:
$.ajax({
type: "GET",
url: "testOrders.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('order').each(function(){
orderId = $(this).find("orderId").text();
city = $(this).find("city").text();
state = $(this).find("state").text();
zip = $(this).find("zip").text();
db.transaction(function (tx) {
tx.executeSql('INSERT INTO orders (id, city, state, zip) VALUES (orderId,city,state,zip)');
});
});
}
});
祝你好运!
关于javascript - 使用 phonegap/Jquery/Ajax 将 XML 解析为数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13745478/