解析xml,为何读取不到子节点的值?解决办法
解析xml,为何读取不到子节点的值?
现在有一段xml的局部如下:
我想获得:所有的,标签为<prop>,而且属性name="SSN"的元素,它们的值。
我写的代码如下:
但发现根本取不到值,都是null。
请问大家该如何改正代码?
------解决方案--------------------
现在有一段xml的局部如下:
- XML code
- <props> <prop name="DocumentTypeDesc" type="10">Herry</prop> <prop name="client_data" type="10" /> <prop name="isInteract" type="3">false</prop> <prop name="max_versions" type="1">4</prop> <prop name="SSN" type="10">371248104</prop> - </props> - <props> <prop name="DocumentTypeDesc" type="10">Tansion</prop> <prop name="client_data" type="10" /> <prop name="isInteract" type="3">false</prop> <prop name="max_versions" type="1">4</prop> <prop name="SSN" type="10">158345561</prop> - </props>
我想获得:所有的,标签为<prop>,而且属性name="SSN"的元素,它们的值。
我写的代码如下:
- C# code
XmlDocument document = new XmlDocument(); document.Load(@"D:\Collection.xml");//导入能成功 XmlNodeList nodes = document.GetElementsByTagName("prop"); foreach (XmlElement singlenode in nodes) { if(singlenode.GetAttributeNode("name").Value.ToString().Equals("SSN")) { Console.WriteLine("{0}",singlenode.Value); } }
但发现根本取不到值,都是null。
请问大家该如何改正代码?
------解决方案--------------------
- C# code
XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(@"c:\test.xml"); XmlNodeList nodes = xmlDoc.SelectNodes(@"//prop[@name='SSN']"); foreach (XmlNode node in nodes) Console.WriteLine(node.InnerText); Console.ReadKey();
------解决方案--------------------
singlenode.Value-->singlenode.InnerText