javascript - 在 Javascript 中循环创建 (xml) 字符串

标签 javascript jquery xml ajax string

我是 Javascript 新手。我有一个多维数组,我想解析它并转储出 xml 标记。比如数组是类型

arr["fname1"][2] = param1 ; 

我想像这样转储 xml 标签-

<fname>fname1</fname>

完成后,我的最终目标是使用 jQuery.ajax() 发送这串 xml 标记,如下所示

var xmlDocument = [create xml document];
$.ajax({
url: "page.php",
processData: false,
data: xmlDocument,
success: handleResponse
});

我该怎么做呢?请指教。谢谢!

最佳答案

根据二维数组的复杂性,最简单的方法是遍历它并附加到字符串。例如

function createXMLDocument(arr){
  var xmlDocument = "<myxmldoc>\n"

  for (node in arr) {
    var xmlNode = "\t<fname ";
    for (var i = 0; i < arr[node].length; i++){
      xmlNode += " attr" + i + "=\"" + arr[node][i] + "\" ";
    }
    xmlNode += ">" + node + "</fname>";
    xmlDocument += "\n" + xmlNode;
  }

  return xmlDocument + "\n</myxmldoc>";
}

这会给你类似的东西

<myxmldoc>
  <fname attr0="param1" attr1="param2" ...>fname1</fname>
  <fname attr0="param1" attr1="param2" ...>fname2</fname>
  ...
</myxmldoc>

如果您的数组应该生成更复杂的 xml 文档/结构,您可能需要按照此处描述的方式采取一种方法:

http://oreilly.com/pub/h/2127

希望这对您有所帮助。

关于javascript - 在 Javascript 中循环创建 (xml) 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6228595/

相关文章:

javascript - 无法使用 Angular.js/Javascript 正确比较日期

javascript - bootstrap - 相同大小的表单输入

jquery ui slider-尝试禁用单个句柄

php - Guzzle 且无法将响应解析为 JSON

c# - 将 XML 数据转换为任何 XML 响应的 tsql 记录

java - 在 MyBatis 中调用存储过程

javascript - 在 JavaScript 中获取 htaccess URL 参数

javascript - 为什么这些对象不相等?

javascript - 如何在输入文本时进行 ajax 调用并返回结果

javascript - 如何使用 Promise 链接和共享先前的结果