gpt4 book ai didi

VB Net 中的 XML 解析

转载 作者:数据小太阳 更新时间:2023-10-29 01:59:04 27 4
gpt4 key购买 nike

我正在尝试使用 VB.NET 从 <itemnote> 中提取内部文本基于 name <series> 的属性和 name它的子元素的属性 <item> .我可以提取名称属性,但我无法访问 <itemnote> 的内部文本

这是一些示例 XML:

<?xml version="1.0" encoding="UTF-8"?>
<Products>
<series name="HiTech" year="2000" country="United Kingdom">
<item name="Robotic" collected="no">
<itemnote>Exclusive UK Release</itemnote>
</item>
<item name="Future" collected="yes">
<itemnote>LED Edition</itemnote>
</item>
</series>
<series name="Neo" year="2003" country="United Kingdom">
<item name="X Rated" collected="no">
<itemnote>Red striped version</itemnote>
</item>
<item name="Cool Breeze" collected="no">
<itemnote>Includes promo booklet</itemnote>
</item>
</series>
</Products>

到目前为止,我已尝试对 XDocument 使用递归循环,但除了所有 <series> 的列表之外,我什么都得不到。和 <item>属性。我也尝试过使用 XPath 和 Linq,但我无法弄清楚如何让其中任何一个按照我的意愿进行。任何帮助都会很棒!干杯。

最佳答案

您需要获取 <item> 的引用节点并基于 item元素,您可以比较 parent 的名称属性值和 child元素。

Dim nameOfSeries = "HiTech"
Dim nameOfItem = "Future"

Dim result = doc.Descendants("item").Where(Function(p)
Return p.Parent.Attribute("name").Value = nameOfSeries And
p.Attribute("name").Value = nameOfItem
End Function)

IF result.Count Then
For Each ele In result
Console.WriteLine(ele.Element("itemnote").Value)
Next
End If

关于VB Net 中的 XML 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14034745/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com