【问题标题】:When creating XML with jQuery should one use $('<xml/>') or $.parseXML('<xml/>')?使用 jQuery 创建 XML 时,应该使用 $('<xml/>') 还是 $.parseXML('<xml/>')?
【发布时间】:2012-07-11 20:14:11
【问题描述】:

我发现 $('') 会导致重新组织属性并分配 xml 命名空间,但 $.parseXML() 保留了原始 xml 字符串的完整性。我不确定这是否是一件好事。

【问题讨论】:

  • 你应该使用$.parseXML$将其解析为HTML
  • 谢谢!这澄清了我所看到的结果。似乎 $.parseXML 正在创建一个新文档,而 $() 可能正在页面的 DOM 中插入。

标签: jquery xml html


【解决方案1】:

根据parseXML的文档

jQuery.parseXML 使用浏览器的原生解析功能来创建一个有效的 XML 文档。然后可以将此文档传递给 jQuery,以创建一个可以遍历和操作的典型 jQuery 对象。

因此,如果您尝试创建一个 XML 文档,您会希望使用 parseXML


根据 Esailija,您可以执行 $($.parseXML(xml)) 并使用 jQuery 遍历 XML 文档。不要直接传递字符串,因为 xml 被解释为 html 会有不同的规则。例如,在 html 中,param 标签必须是自闭合标签。

【讨论】:

  • 你可以做$($.parseXML(xml)),用jQuery遍历xml文档。不要直接传递字符串,因为 xml 被解释为 html 会有不同的规则。例如,在 html 中,param 标签必须是自闭合标签。
  • @Esailija - 感谢您的澄清。我刚刚更新了我的答案以包括您的 cmets。
  • 如果我说 $($.parseXML('')),我还可以遍历和修改新文档。显然,这不太简洁,但我想知道一种方法是否在某些方面更好,尤其是在性能方面。你能澄清为什么 $('') 重新排序属性并添加命名空间吗?是否使用 $('') 进行额外处理?
  • 嗯,根据 Esailija 和 api.jquery.com/jQuery/#jQuery2 的说法 - $('') 函数需要一个 HTML 字符串而不是 XML。这可能解释了一些修改。
  • @MichaelPrescott:解析字符串时,会将其转换为不同的结构。因此,仅保留原始字符串中被认为重要的信息。在 XML(或 HTML)中,属性的顺序并不重要。
猜你喜欢
  • 2011-08-18
  • 1970-01-01
  • 2018-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-01
  • 1970-01-01
相关资源
最近更新 更多