如何通过它的属性读取单个XML节点?

时间:2011-11-04 14:46:24

标签: c# xml database

我的XML构建如下:

<?xml version="1.0" encoding="utf-8" ?>
<Pages>

    <Page id="1" title="myTitle">
        Content
    </Page>

    <Page id="2" title="myTitle2">
        Content2
    </Page>

</Pages>

如何通过C#代码中的ID获取内容?

2 个答案:

答案 0 :(得分:5)

您可以将其加载到XmlDocument中,然后调用:

xmldocument.SelectSingleNode("/Pages/Page[Id = '1']")

答案 1 :(得分:5)

我使用LINQ to XML和类似的东西:

var document = XDocument.Load(...);
var page = document.Descendants("Page")
                   .Where(x => (int) x.Attribute("id") == id)
                   .FirstOrDefault();

现在page将是第一个具有给定XElement的{​​{1}},如果找不到,则为{。