gpt4 book ai didi

c# - C#中指定 block 内的XmlDocument GetElementsByTagName

转载 作者:数据小太阳 更新时间:2023-10-29 02:53:20 33 4
gpt4 key购买 nike

我有一个 xml 文件,目前我正在按标签名称获取元素。我想要实现的是指定要使用哪个 block ,例如书店或商店。感谢您的帮助和建议。

XML:

<VariablesSpecs name="Data01">
<bookstore>
<book genre='novel' ISBN='10-861003-324'>
<title>The Handmaid's Tale</title>
<price>19.95</price>
</book>
</bookstore>
<shop>
<book genre='novel' ISBN='10-861003-324'>
<title>The Handmaid's Tale</title>
<price>19.95</price>
</book>
</shop>
</VariablesSpecs>

代码:

var doc = new XmlDocument();
doc.Load("data.xml");

var bookNodes = doc.GetElementsByTagName("book");
foreach (var bookNode in bookNodes)
{
// Collect data.
}

最佳答案

您没有使用 Linq to XML:

var doc = XDocument.Load("data.xml");

var bookNodes = doc.Descendants("book").Where(b=> b.Parent.Name == "shop");

使用常规 System.Xml:

var doc = new XmlDocument();
doc.Load("data.xml");
var bookNodes = doc.SelectNodes(@"//bookstore/book");
foreach (XmlNode item in bookNodes)
{
string title = item.SelectSingleNode("./title").InnerText;
string price = item.SelectSingleNode("./price").InnerText;
Console.WriteLine("title {0} price: {1}",title,price); //just for demo
}

关于c# - C#中指定 block 内的XmlDocument GetElementsByTagName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28580857/

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