【问题标题】:C# Xml file readC# XML 文件读取
【发布时间】:2015-03-03 15:21:43
【问题描述】:

xml文件中如何去兄弟节点,我想先退到父节点再前进到兄弟节点

<Kms_Section>ffffff</Kms_section>  
<Kms_Description>bbbb</kms_description>

【问题讨论】:

  • 有什么理由需要使用“旧”的 XML API?使用 LINQ to XML,您只需使用 NextNode...
  • 我有很多 /KMS_doc/KMS_section 然后是 kms_section2
  • 这根本无法回答我的问题...
  • 我有一个已经存在的旧 xml api 项目,我只想编辑一些东西
  • 您在寻找XmlNode.NextSibling 吗?

标签: c# sql xml


【解决方案1】:

您可以使用此代码进入下一个 kms_section2:

XmlNode FoundNode = null;
while (node.NextSibling != null && FoundNode == null)
{
    node = node.NextSibling;
    if (node.Name == "kms_section2")
    {
         FoundNode = node;
    }
}
if (FoundNode != null)
{
    //Do whatever you want.
}

【讨论】:

    【解决方案2】:

    我认为您可以使用我之前的示例。而不是做

    XmlNodeList nodes =  doc.DocumentElement.SelectNodes("/KMS_doc/KMS_section");
    

    你会的

    XmlNode parent = doc.DocumentElement.SelectSingleNode("KMS_doc");
    

    然后你就去

    XmlNodeList nodes = parent.SelectNodes("KMS_section"); 
    

    你处理节点内的所有元素,然后你去

    nodes = parent.SelectNodes("KMS_dataSection"); 
    

    并处理这些元素。

    【讨论】:

    • 感谢您的帮助:D
    【解决方案3】:

    XmlNode 对象有一个名为 NextSibling 的属性。它是指定节点的父节点下的下一个节点。但我认为您只需要 XmlNodeList 中的下一个节点。你可以像这样遍历它们:

    foreach (XmlNode node in nodes)
    {
      //Do whatever you want.
    } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-19
      • 2012-03-10
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多