我将其作为 XML:
<explination>
<p>This is a great tool</p>
<p>and i love it</p>
</explination>
并且需要将其转换为字符串:
<p>This is a great tool</p>
<p>and i love it</p>
我正在使用this crazy converter如果我从第一个代码块传递整个 xml,它就会起作用。
但后来我明白了 <explination>
节点在那里,这是我不想要的。我可以解析字符串并删除该节点,但我宁愿不这样做。
如果我使用$(xml).children()
这会返回给我以下内容。
[<p>This is a great tool</p>, <p>and i love it</p>]
这很棒,但是当我将它传递给我之前提到的疯狂转换器时,它失败了,因为它无法处理children()返回的数组。
有没有办法将children()返回的内容转换为标准xml? $.toXml() 方法还是其他方法?
有什么建议吗?
谢谢
最佳答案
这是使用 jQuery 的 $.parseXML()
来实现此目的的一种方法。功能:
var contentAsString = $($.parseXML(xml)).find("explination").html();
$.parseXML()
返回一个 XML 文档,因此如果将其输入到 $()
中,您将得到一个 jQuery 对象,这样您就可以使用 jQuery 遍历方法像.find()
获取您关心的元素,然后使用 .html()
将其内容作为包含标签的字符串。
或者对于您显示的特定 xml 输入,您可能可以假装您的 xml 是 html 并执行以下操作:
var contentAsString = $(xml).html();
请注意,这两种方法都根本不需要您的“疯狂转换器”。
"it fails because it can't handle the array returned by children()."
.children()
不返回数组,它返回一个 jQuery 对象(类似于数组)。
关于javascript - XML 到 jQuery 到字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20795565/