代码之家  ›  专栏  ›  技术社区  ›  Luke101

如何获取下一个和上一个节点

  •  0
  • Luke101  · 技术社区  · 15 年前

    我正在尝试获取当前元素的下一个和前一个元素

    这是XML

    <template id="9">
      <tabs>
        <tab>
          <name>test</name>
          <description />
        </tab>
        <tab>
          <name>test3</name>
          <description />
        </tab>
        <tab>
          <name>test7</name>
          <description />
        </tab>
      </tabs>
      <tabs />
      <tabs />
    </template>
    

    当前节点是带有

    测试3

    这是我使用的代码

    var doc = XDocument.Parse(q.XMLtext);
    var tabs = doc.ElementOrDefault("template").ElementOrDefault("tabs").Elements();
    var Current = doc.ElementOrDefault("template")
      .ElementOrDefault("tabs")
      .ElementsOrDefault("tab")
      .ElementsOrDefault("name")
      .Where(x => x.Value == name);
    //get the next and previous nodes here
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   CodingGorilla    15 年前

    这个怎么样:

    var previous = Current.PreviousNode;
    var next = Current.NextNode;
    

    唯一的问题是它将返回注释和其他节点,但是基于XML,这仍然适用于您。

    推荐文章