2009-02-05 51 views
0

我可以從XML只是一些代碼,人有我精讀一個記錄,但你如何在XML文件中讀取多個如這樣:如何讀取XML文檔的多個記錄

<?xml version="1.0" encoding="UTF-8"?> 

<XXX_XXX_response xmlns="http://example.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://example.com/1.0/ http://example.com/1.0/XXX.xsd" list="true"> 

    <album> 

    <id>7031990242326938677</id> 

    <pid>7031990241327042549</pid> 

    <owner>1642262814</owner> 

    <location>CA</location> 

    </album> 

    <album> 

    <id>7031994332086936240</id> 

    <pid>703199322241087005994</pid> 

    <owner>1633262814</owner> 

    <location/> 

    </album> 

    <album> 

    <id>7031990241086937544</id> 

    <pid>7031990241087026027</pid> 

    <location/> 

    </album> 

    <album> 

    <id>70319902431086936188</id> 

    <pid>7033490241087005114</pid> 

    <owner>1633262814</owner> 

    <location/> 

    </album> 


</XXX_XXX_response> 

你如何遍歷每個專輯,以及什麼是保存該數據的好容器(什麼樣的列表對象等)?不,我不是說數據集(嘔吐)

我不是在尋找確切的代碼必然(當然,如果你有它謝謝),但一篇文章,涉及或顯示在.NET讀取多個記錄的例子。

我試圖想出最理想的輕量級對象來存儲每條記錄,以便稍後可以遍歷它。

回答

0

XPathDocument(CreateNavigator)& XPathNavigator是您可以使用的類。

此外,XPathNavigator具有采用XPath表達式的Select方法(例如//專輯)
以上XPath表達式意味着 - 將文檔中任意位置的所有節點命名爲album。

希望這給你上哪兒去找

1

你可以讀到這樣的類專輯的這個和存儲對象的XML中的通用列表指針。

List<Album> albums = new List<Album>(); 
XmlDocument xmlDoc = new XmlDocument(); 
xmlDoc.Load("MyXml.xml"); 
XmlElement root = doc.DocumentElement; 
XmlNodeList nodes = root.SelectNodes("/album"); 
foreach (XmlNode node in nodes) 
{ 
    Album album = new Album(); 
    album.id = node["id"].InnerText; 
    albums.Add(album); 
} 

下面是如何搜索列表search-for-object-in-generic-list

下面介紹如何列表How to sort a generic List

0

,當我需要做的事情快,我總是用XmlTextReader的,這是最快的(只進)方法進行排序解析XML文檔。