<分区>
我很想知道如何以最优雅/最干净的方式阅读以下 XML。 (片段)
<Config>
<MyTag />
<MyTag />
</Config>
<Config>
<MyTag />
<MyTag />
<MyTag />
</Config>
我只想读取 MyTag
节点。我的第一个想法是 LINQ,但不知道使用 XPath 是否更干净。
<分区>
我很想知道如何以最优雅/最干净的方式阅读以下 XML。 (片段)
<Config>
<MyTag />
<MyTag />
</Config>
<Config>
<MyTag />
<MyTag />
<MyTag />
</Config>
我只想读取 MyTag
节点。我的第一个想法是 LINQ,但不知道使用 XPath 是否更干净。
最佳答案
使用 XPath 更简洁:
foreach(XElement myTag in (IEnumerable)XDocument.Load(xmlFile)
.XPathEvaluate("/xml/Config/MyTag"))
{
}
LINQ 等价物是:
foreach(var myTag in XDocument.Load(xmlFile).Root.Elements("Config")
.SelectMany(x => x.Elements("MyTag")))
{
}
我的回答假设 Config
标签周围有一个 xml
标签,否则 xml 文件将无效。
关于c# - 样式问题 : LINQ or XPath to read in XML nodes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6536950/