2011-02-08 89 views
5

我以XML字符串接收消息;我加載到XmlDocument;但第二個節點每次都不一樣;我給下面的例子有三個例子:從XMLDocument讀取第一個節點

<Message> 
    <Event1 Operation="Amended" Id="88888">Other XML Text</Event1> 
</Message> 
<Message> 
    <Event2 _Operation_="Cancelled" Id="9999999"> Other XML Text </Event2> 
</Message> 
<Message> 
    <Event3 Operation="Cancelled" Id="22222"> Other XML Text </Event3> 
</Message> 

現在,我想找出第二個節點是Event1Event2Event3也什麼操作例如價值「修改」,「取消」,「已命令」?

回答

8

讀你可以嘗試

 XmlDocument xml = new XmlDocument(); 
     xml.LoadXml("<Message><Event1 Operation=\"Amended\" Id=\"88888\"> Other XML Text</Event1></Message>"); 
     Debug.WriteLine(xml.DocumentElement.ChildNodes[0].Name); 
     Debug.WriteLine(xml.DocumentElement.ChildNodes[0].Attributes["Operation"].Value); 
1
XmlDocument oDoc = XmlDocument.Load(yourXmlHere); 
// Your message node. 
XmlNode oMainNode = oDoc.SelectSingleNode("/Message"); 
// Message's first subnode (Event1, Event2, ...) 
XmlNode oEventNode = oMainNode.ChildNodes[0]; 
// Event1, Event2, ... 
string sEventNodeName = oEventNode.Name; 
// Value of operation attribute. 
string sOpValue = oEventNode.Attributes["Operation"].Value; 
2

關閉我的頭頂,你可以檢查DocumentElement.FirstChild.NameXmlDocument對象上檢索信息元素的第一個子元素的名稱。

的操作屬性可以使用DocumentElement.FirstChild.GetAttribute("Operation").