【问题标题】:Organizing Data in XML with jQuery使用 jQuery 在 XML 中组织数据
【发布时间】:2012-03-19 18:54:18
【问题描述】:

我需要将大量信息从我的网站发送到我的网络服务器。这些信息包含来自多个用户的数据(名字、姓氏等)。

在通过 AJAX 请求将这些信息发送到网络服务器之前,我必须将它们从表格中提取出来并以某种方式组织它们。

现在我正在考虑两种不同的可能性:

1:用JavaScript/jQuery将数据组织成一个XML文档并发送到网络服务器或...

XML 文档

<create>
    <customer>
        <first-name>foo</first-name>
        <last-name>bar</last-name>
        ...
    <customer>
</create>

2:将数据存储在一个字符串中,稍后使用 PHP 在网络服务器上组织它们。

字符串:

   "first-name='foo';last-name='bar'"

我已经尝试过这个方法来创建一个 XML 文档...

    var xmlDocument = $.parseXML('<create/>');
    var customer = xmlDocument.createElement('customer');
    xmlDocument.documentElement.appendChild(customer);
    var firstName = xmlDocument.createElement('first-name');
    xmlDocument.documentElement.appendChild(firstName);

...但它并没有真正奏效。我使用xmlDocument.find('first-name') 来检查它是否正确构建但失败了。也许我访问 XML 文档有误。

我也尝试过使用jQuery.parseXML();,但也没有用。

那么,创建/访问 XML 文档、创建/删除/编辑节点和文本节点以及在 JavaScript/jQuery 中设置/获取属性的正确方法是什么。

您能否建议我使用我提到的哪个机会?也许还有一个我还没有考虑过。如果您能添加一些示例代码,我将不胜感激。

【问题讨论】:

    标签: php javascript jquery xml


    【解决方案1】:

    你应该做类似的事情

    var xmlDocument = $('<create/>');
    var customer = $('<customer/>');
    xmlDocument.append(customer);
    var firstName = $('<first-name/>').text('john');
    xmlDocument.append(firstName);
    

    对应的xml:

    <create>
      <customer></customer>
      <first-name>john</first-name>
    </create>
    

    在这里找到一个元素xmlDocument.find('first-name').text()小提琴http://jsfiddle.net/YpfmD/

    这正是您创建 html 元素的方式(毕竟 html 是 XML)

    如果你需要创建带有属性的元素,你可以这样做

     $('<name/>', { first: "john", second: "doe"});
     //this creates <name first="jhon" second="doe"></name>
    

    【讨论】:

    • 如何访问节点并获取值?
    • @sebbl.sche justdo xmlDocument.find('first-name').text()(我更新了我的答案)
    【解决方案2】:

    为什么不能使用服务器端脚本(如 PHP)创建字符串(xml 或其他)?这样就容易多了。

    但如果您需要使用 jquery/javascript,我建议您使用 JSON 方法。

    看看这里:

    jquery .serializeArray()

    jquery .parseJSON

    你可以试试这个?

    【讨论】:

    • 是否也可以在一个 JSON 对象中存储多个用户?比如:var obj = $.parseJSON('{"user1" : {"first-name" : "foo", "last-name" : "bar"}, "user2" : ... }');
    • JSON 只是您能想到的几乎任何类型的对象的字符串表示形式。它与 XML 非常相似,因为它以明确定义的结构存储数据,因此可以轻松地再次从中提取信息。它在 ajax 圈子中也很流行,因为大多数时候它占用的空间比 XML 少。去阅读它并玩弄它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2022-01-10
    相关资源
    最近更新 更多