当你有多个同名节点时,有没有办法选择XML文件的特定节点?
例如,我想选择名称为IBAN的节点的值。但是,作为其他两个节点的孩子,我有两次。
我正在获取名称为IBAN的节点,当然它是第一个。
public string GetIBANValueFromXML(XmlDocument xmlDoc)
{
string ibanValue = "";
XmlNodeList xnList = xmlDoc.SelectNodes("/Element[@*]");
if (xnList != null)
{
foreach (XmlNode xn in xnList)
{
XmlNode ibanNode = xn.SelectSingleNode("IBAN");
if (ibanNode != null)
{
ibanValue = ibanNode.InnerText;
}
}
}
return ibanValue;
}
如果有一个干净的方法来完成这个?要使用此功能但要返回第二个IBAN节点值?
答案 0 :(得分:0)
您可以使用XPath /Element/IBAN[2]
选择名为IBAN
的根元素的第二个Element
子元素:
XmlNode ibanNode = xmlDoc.SelectSingleNode("/Element/IBAN[2]");
if (ibanNode != null) { ... }