我是这个领域的新手。请让我知道如何获取或显示
书店,书籍,标题,价格(我需要的DISTINCT输出)
从以下XML文件中,我如何阅读和打印 DISTINCT xml节点。
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<title lang="en">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="en">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
答案 0 :(得分:2)
使用Linq to XML很容易:
var xdoc = XDocument.Load(fileName);
var names = xdoc.Descendants() // get all elements from xml
.Select(e => e.Name.LocalName) // select local name of each element
.Distinct(); // pick only distinct names
您的样本xml输出是
[
"bookstore",
"book",
"title",
"price"
]
Descendants()
与XPathSelectElements("//*")
答案 1 :(得分:1)
试试这个
public void Load()
{
var doc = XDocument.Load(filePath);
foreach(var unit in doc.Descendants("Unit"))
{
string str = string.Format("ID: {0}\r\nName:{0}", unit.Element("id").Value, unit.Element("name").Value);
MessageBox.Show(str);
}
}