2011-02-08 80 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").