我试图采取此样本XML响应并解析此XML的孩子和孩子节点。PRIN和角色对象将用于创建相关记录,其中主要记录的Prinid将设置为相关的子记录的角色。
我面临的挑战是通过子对象循环,然后立即解析孩子的记录。我编写的代码都具有单独的作用,这不允许我为每个角色创建相关记录。
如果我采用相同的逻辑并将getElementsbytagname更改为角色,它只是将这些记录解析为没有与其父对象任何关系的记录。
我如何编写第二个循环或迭代器,以便在循环浏览其子女记录的角色时获得主记录的PrinID
。
<Prin>
<PrinName>John</PrinName>
<PrinID>12345</PrinID>
<Role>
<Code>1111</Code>
</Role>
<Role>
<Code>2222</Code>
</Role>
</Prin>
<Prin>
<PrinName>James</PrinName>
<PrinID>45678</PrinID>
<Role>
<Code>3333</Code>
</Role>
<Role>
<Code>4444</Code>
</Role>
</Prin>
var prinID="";
var prinList=prinDoc.getDocumentElement().getElementsByTagName("Prin");
for (var i=0;i<prinList.getLength();i++){
var childList=prinList.item(i).getChildNodes();
for (var j=0;j<childList.getLength();j++){
var childNode=childList.item(j);
if (childNode.getNodeName()=="PrinName"){
prinID=childNode=getTextContent();
}
}
}
类似的东西?
var prinID="";
var prinList=prinDoc.getDocumentElement().getElementsByTagName("Prin");
for (var i=0;i<prinList.getLength();i++){
var prinObject = printList.getItem(i);
var prinID = prinObject.getElementsByTagName("PrinID").getTextContent();
var roleList=prinObject.getElementsByTagName("Role");
for (var j=0;j<roleList.getLength();j++){
var roleObject = roleList.item(j);
...
}
}