【发布时间】:2020-06-29 21:03:41
【问题描述】:
基于以下对象:
var xmlData =
`<?xml version="1.0" encoding="UTF-8"?>
<log>
<entry id="1">
<message>Application started</message>
</entry>
<entry id="2">
<message>Application ended</message>
</entry>
<entry id="3">
<message>Application ended</message>
</entry>
</log>`
我需要检索那些重复的节点的 ID。例如,如果您检查一下,您会发现有两个名为“消息”的节点具有相同的文本:“应用程序结束”。
所以我需要返回这两个 id (2 & 3)。
到目前为止我一直在这样做:
function getId(xml, message) {
parser = new DOMParser();
xml = parser.parseFromString(xmlData,"text/xml");
for (var i = 0; i < xml.getElementsByTagName("entry").length; i++){
}
}
如您所见,我创建了一个函数,我解析了 xml 并变成了一个 DOM 文档,现在我只需要过滤它以返回这两个条目。到目前为止,我已经达到了可以检查这些节点内部的部分,但现在我想不出过滤它们的好方法。
有什么想法吗?
提前致谢。
【问题讨论】:
标签: javascript xml function filter