【问题标题】:Read First Node from XMLDocument从 XMLDocument 中读取第一个节点
【发布时间】:2011-02-08 16:05:14
【问题描述】:

我收到 XML 字符串的消息;我加载到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 以及 Operation 的值是多少,例如“已修改”、“取消”、“已订购”?

【问题讨论】:

    标签: c# xml xmldocument


    【解决方案1】:

    你可以试试

            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);
    

    【讨论】:

      【解决方案2】:
      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;
      

      【讨论】:

        【解决方案3】:

        在我的脑海中,您可以检查 XmlDocument 对象上的 DocumentElement.FirstChild.Name 以检索 Message 元素的第一个子元素的名称。

        可以使用DocumentElement.FirstChild.GetAttribute("Operation").读取操作属性

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-09-06
          • 1970-01-01
          • 2010-09-06
          • 2011-02-24
          • 1970-01-01
          相关资源
          最近更新 更多