对于下面的XML,我需要获取separately for each
(有2个节点)并将其添加到字典中。我正在尝试使用下面的代码。但是当我试图访问节点时,我得到的计数为4(它需要两个)。我需要根据风险提取居住者。有希望吗?
当循环第一个节点而不是2时,计数为4,因为第一个风险包含2
答案 0 :(得分:1)
如果您希望XPath相对于当前节点(仅在当前节点上下文中执行Xpath查询),则需要在XPath的开头添加句点/点(.
),例如:< / p>
xPath = "/SearchResult/Risks/Risk"
......
......
'get Location from current <Risk>'
xmlNode = xmlNodeRisk.SelectSingleNode("./Location")
'get Occupant from current <Risk>'
xmlNodeChild1 = xmlNodeRisk.SelectNodes("./Occupants/Occupant")
'get Address from current <Location>'
XmlNodeAddress = xmlNode.SelectSingleNode("./Address")
......
......