按给定名称读入XmlElement值

时间:2013-02-08 15:19:10

标签: c# xml xml-parsing

我需要阅读下面的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 个答案:

答案 0 :(得分:2)

你必须使用它:

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

答案 1 :(得分:1)

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

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