2013-02-08 103 views
0

阅读XmlElement的价值,我需要阅读以下的XmlElement和检索定义的元素/场,这里是元素:在前,名在

<Response> 
    <code>JH4KB2F68AC24310A</code> 
    <returnCode>1</returnCode> 
    <fields name="ACES_ASP_ID">5</fields> 
    <fields name="ACES_BASE">31990</fields> 
</Response> 

我可以轻松地检索第2。以下是我用它来获得的第一个字段:

MyXmlElement.SelectSingleNode("//Response/code").InnerText 

如何我从价值:

<fields name="ACES_ASP_ID">5</fields> 

我试图格式,如:

MyXmlElement.SelectSingleNode("//Response[fields='" + "ACES_ASP_ID" + "']/fields").InnerText 

没有成功。

回答

2

你必须使用:

MyXmlElement.SelectSingleNode("//Response/fields[@name='ACES_ASP_ID']") 
      .InnerText 
+0

尝试了不同的领域了几次,仍然可以得到:“表达式必须节点集” – devHead 2013-02-08 15:30:22

+0

想通了......需要名称和平等之间的空间...挑剔的挑剔挑剔的XML ... – devHead 2013-02-08 15:32:15

+0

@唐:它适用于我。没有空间。检查它[这里](http://ideone.com/YYxlIS)。 – 2013-02-08 15:32:35

1

您需要测试属性的值。您的测试fields='" + "ACES_ASP_ID" + "'与元素fields匹配,文本内容为“ACES_ASP_ID”。

所以,你应该尝试类似://Response/fields[@name = 'ACES_ASP_ID']

相关问题