.NET XMLNode 中的 FirstSibling 等价物是啥?

Posted

技术标签:

【中文标题】.NET XMLNode 中的 FirstSibling 等价物是啥?【英文标题】:What is the equivalent of FirstSibling in .NET XMLNode?.NET XMLNode 中的 FirstSibling 等价物是什么? 【发布时间】:2014-12-29 14:37:32 【问题描述】:

我在 xml 文档中有动态数量的 <image> 元素。当我到达这些元素的末尾时,我将再次将这些兄弟元素中的第一个的属性设置为 true。

我如何获得 FirstSibling 或类似的东西?

非动态但有效 parentNode.PreviousSibling.PreviousSibling.PreviousSibling.Attributes(0).Value = "true"

XML:

<imageConfig>
  <image active="false">
    <pathName>/Images/123.jpg</pathName>
    <imageStartTime>Mon Dec 29 09:34:35 EST 2014</imageStartTime>
  </image>
  <image active="false">
    <pathName>/Images/1234.jpg</pathName>
    <imageStartTime>Mon Dec 29 09:34:35 EST 2014</imageStartTime>
  </image>
  <image active="false">
    <pathName>/Images/12345.jpg</pathName>
    <imageStartTime>Mon Dec 29 09:34:35 EST 2014</imageStartTime>
  </image>
  <image active="false">
    <pathName>/Images/123456.jpg</pathName>
    <imageStartTime>Mon Dec 29 09:34:35 EST 2014</imageStartTime>
  </image>
  <image active="true">
    <pathName>/Images/1234567.jpg</pathName>
    <imageStartTime>Mon Dec 29 09:34:35 EST 2014</imageStartTime>
  </image>
</imageConfig>

【问题讨论】:

【参考方案1】:

将 XPath 与 preceding-sibling 轴一起使用:

Dim firstSibling As XmlNode = parentNode.SelectNodes("preceding-sibling::*")(0)

见Documentation

【讨论】:

此时应该 firstSibling.Attributes(0).Value = '' 工作吗? @JoJo,是的。我想是的。 Dim firstSibling As XmlNode 为必填项 对不起,我主要写 C#。已更新。

以上是关于.NET XMLNode 中的 FirstSibling 等价物是啥?的主要内容,如果未能解决你的问题,请参考以下文章