首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

解析xml,为何读取不到子节点的值?解决办法

2012-05-10 
解析xml,为何读取不到子节点的值?现在有一段xml的局部如下:XML code- propsprop nameDocumentTypeDes

解析xml,为何读取不到子节点的值?
现在有一段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

热点排行