我正在尝试解析其他XML文件以获取某些信息,但是在文件中有多个相同标签名称,但是它们的数量可能因文件而异,这意味着我不能只添加数字标签,我想以其父母标签为基础,以便仅对某些父母/标签进行解析。
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
request.open("GET", "test.xml", true)
request.send();
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var test = xmlDoc.getElementsByTagName("SerialNumber")[0].childNodes[0].nodeValue;
};
我已经了解了Xpath,但似乎无法在我的代码中使用它。
示例中有多个SerialNumber标记,但是我想测试一下,使其仅成为父级“ Storage”下的SerialNumber节点值。
答案 0 :(得分:0)
为Library
|__Java mechanism
|__Android MVVM wrapper
尝试类似的操作:
myFunction
这使用XPath查询来找到所有function myFunction(xml) {
var xmlDoc = xml.responseXML;
var resultset = xmlDoc.evaluate('//Storage/SerialNumber', xmlDoc);
var nodes = [];
var node;
while (node !== null) {
node = resultset.iterateNext();
nodes.push(node);
}
// Do what you need to here.
console.log(nodes);
// For example, to get the first result's text contents:
console.log(nodes[0].textContent);
};
元素,它们是所检索的XML文档中SerialNumber
节点的子元素。
如果您有一个规范说文档中将永远只有一个Storage
父/子组合,则值得检查结果数组的长度,如果不是,则抛出错误。 / p>