如何从xml中检索属性

时间:2012-08-14 10:40:58

标签: c# .net xml c#-4.0

我在XmlDocument中有以下xml。我试图从中提取className

<Registration className="Eng" type="DirectRegistration" state="Activated"     xmlns="http://xyz/Registration">
  <Fields>
    <Field type="abc" value="123456" />
    <Field type="xyz" value="789" />
  </Fields>
</Registration>

我尝试了以下代码,但它没有给我className

var xmlNode = xmlDoc.DocumentElement;

任何人都可以帮助我获得className的价值。

非常感谢

3 个答案:

答案 0 :(得分:4)

你快到了那里:

var className = xmlDoc.DocumentElement.GetAttribute("className");

xmlDoc.DocumentElement为您提供整个元素; GetAttribute从中提取单个命名属性。

答案 1 :(得分:1)

尝试使用:

// Trying to parse the given file path to an XML
XmlReader firstXML = XmlReader.Create(XMLPath);
firstXML.ReadToFollowing("Registration");
firstXML.MoveToAttribute("className");
var res = firstXML.Value;

res将保留“className”值。

答案 2 :(得分:1)

您还可以使用xPath检索属性

string className = xmlDocument.SelectSingleNode("//Registration/@className").Value;