获取xml中的节点,可以使用XmlNode.SelectSingleNode()方法,不过针对xml是否存在命名空间,XmlNode提供了2种方法来获取
目录
基本情况:没有命名空间
xml文件
<?xml version="1.0" encoding="UTF-8"?>
<students>
<student>
<name>zhangsan></name>
<age>11</age>
</student>
<student>
<name>lisi></name>
<age>22</age>
</student>
</students>
获取节点的代码:
public void getXmlNode(string xmlStr,string xpath)
{
XmlDocument xmlD = new XmlDocument();
xmlD.LoadXml(xmlStr);
//测试用,获取xmlD下第一个name节点
xpath = "//name";
XmlNode xn = xmlD.SelectSingleNode(xpath);
string nodeXml = xn.InnerXml;
}
重点:目标节点有n个命名空间
对于有命名空间的xml,要根据自己编写的xpath路径判断判断有效命名空间,将有效命名空间添加到XmlNamespaceManager中,xpa