从XMLDocument读取第一个节点
问题描述:
我以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>
现在,我想找出第二个节点是Event1
或Event2
或Event3
也什么操作例如价值“修改”,“取消”,“已命令”?
答
读你可以尝试
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);
答
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;
答
关闭我的头顶,你可以检查DocumentElement.FirstChild.Name
的XmlDocument
对象上检索信息元素的第一个子元素的名称。
的操作属性可以使用DocumentElement.FirstChild.GetAttribute("Operation").