gpt4 book ai didi

javascript - 带有 javascript 的多功能 xml 属性正则表达式

转载 作者:行者123 更新时间:2023-11-30 23:53:27 25 4
gpt4 key购买 nike

基本上我有一个 xml 文档,我对该文档唯一了解的是属性名称。

鉴于该信息,我必须查明该属性名称是否存在,如果存在,我需要知道属性值。

例如:

<xmlroot>
<ping zipcode="94588" appincome = "1750" ssn="987654321" sourceid="XX9999" sourcepw="ioalot">
<status statuscode="Success" statusdescription="" sessionid="1234" price="12.50">
</status>
</ping>
</xmlroot>

我的名称为 appvenue 和 sourceid。值是什么?

此外,如果文档中有两个 appvenue 属性名称,我也需要知道这一点,但我不需要它们的值,只是存在多个匹配项。

最佳答案

正则表达式可能不是最好的工具,特别是如果您的 JS 在支持 XPath 的相当现代的浏览器中运行。此正则表达式应该有效,但如果您无法严格控制文档的内容,请注意误报:

var match, rx = /\b(appincome|sourceid)\s*=\s*"([^"]*)"/g;

while (match = rx.exec(xml)) {
// match[1] is the name
// match[2] is the value

// this loop executes once for each instance of each attribute
}

或者,尝试这个 XPath,它不会产生误报:

var node, nodes = xmldoc.evaluate("//@appincome|//@sourceid", xmldoc, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null);

while (node = nodes.iterateNext()) {
// node.nodeName is the name
// node.nodeValue is the value

// this loop executes once for each instance of each attribute
}

关于javascript - 带有 javascript 的多功能 xml 属性正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/707391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com