使用jQuery以XML格式组织数据

时间:2012-03-01 09:18:54

标签: php javascript jquery xml

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

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

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

1:使用JavaScript / jQuery在XML文档中组织数据并将其发送到网络服务器或...

XML文档

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

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

的字符串:

   "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();,但它也没有用。

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

你能给我一个建议我提到的机会吗?也许甚至有一个我还没有考虑过。如果您可以添加一些示例代码,我将不胜感激。

2 个答案:

答案 0 :(得分:2)

您应该执行类似

的操作
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>

要在http://jsfiddle.net/YpfmD/

找到元素xmlDocument.find('first-name').text()

这正是你创建html元素的方法(在所有html都是XML之后)

如果你需要用你可以做的属性创建元素

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

答案 1 :(得分:0)

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

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

看看这里:

jquery .serializeArray()

jquery .parseJSON

你可以尝试一下吗?