2011-11-04 103 views
1

我的XML是建立這樣的:如何通過屬性讀取單個XML節點?

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

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

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

</Pages> 

我怎樣才能獲得通過ID C#代碼中的內容?

+1

@YuriyFaktorovich,+1 - 但我想我已經知道了 - 我認爲XML是一個'數據庫' –

+0

@AndrasZoltan是的。 – MasterMastic

回答

5

我會使用LINQ到XML和喜歡的東西:

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

現在page將首次XElement給定id如果沒有找到,則返回null。

5

你可以將其加載到XmlDocument的,然後調用:

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