给出以下简单的XML:
<root>
<node1>
<node2>
<node3 name="blah" />
<node3 name="blah" />
<node3 name="blah" />
</node2>
<node2>
<node3 name="blah" />
<node3 name="blah" />
<node3 name="blah" />
</node2>
<node2>
<node3 name="blah" />
<node3 name="blah" />
<node3 name="blah" />
</node2>
</node1>
以下javascript:
xml2js.parseString(data, function(err, result) {
if (err) {
console.log(err);
} else {
console.log(result);
console.log(result.root);
console.log(result.root.node1);
// console.log(result.root.node1.node2);
// console.log(result.root.node1.node2[1]);
// console.log(result.root.node1[2]);
// console.log(result.root.node1[2]);
}
如何获取名为node2(和node3)的子节点集合?我认为上述任何评论都没有被认为是常识性工作,并且令人惊讶的是,它似乎并不是一个单独的xml2js示例,它实际上涵盖了访问它的生成输出。
JSON.stringify(结果)的输出
{
"root": {
"node1": [
{
"node2": [
{
"node3": [
{
"$": {
"name": "blah"
}
},
{
"$": {
"name": "blah"
}
},
{
"$": {
"name": "blah"
}
}
]
},
{
"node3": [
{
"$": {
"name": "blah"
}
},
{
"$": {
"name": "blah"
}
},
{
"$": {
"name": "blah"
}
}
]
},
{
"node3": [
{
"$": {
"name": "blah"
}
},
{
"$": {
"name": "blah"
}
},
{
"$": {
"name": "blah"
}
}
]
}
]
}
]
}
}
答案 0 :(得分:0)
如何获得名为node2的子节点集合?
result.root.node1
是一个数组,要获取其中的第一个<node1>
,您必须访问它的索引:
result.root.node1[0].node2
那个问题和node3?
没有一个<node3>
个集合,但您可以在上面同样访问相应的第i个.node3
的{{1}}:
.node2
您可以在result.root.node1[0].node2[i].node3
集合上使用循环。