.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 等价物是啥?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 XmlNode() 作为 VB.NET 中 web 服务的结果?
使用具有多个条件的 XMLNode(.Net) 获取 XML 节点