2012-08-14 150 views
2

我在XmlDocument中有以下xml。我試圖從中提取className如何從xml檢索屬性

<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的價值。

非常感謝

+0

你嘗試過這麼遠嗎?這可能是許多問題中討論過的最常見的請求之一。 – walther 2012-08-14 10:42:49

回答

4

你幾乎有:

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

xmlDoc.DocumentElement給你整個元素; GetAttribute從中提取個人命名屬性。

+0

真的很好的答案! – 2012-08-14 10:47:59

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將舉辦 「類名」 的值。

1

,您還可以使用XPath來檢索屬性

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