我一直在使用XDocument和LINQ to XML來加載xml文件並填充我的類。使用XMLReader讀取大型XML文檔以將信息解析到類中
但現在我的任務是確保我的程序可以處理所有大小的XML文檔,這意味着我需要使用XML讀取器,此時我無法繞過操縱XMLReader來填充我的課程。
目前,我有下面的類來填充:
public class DataRecord
{
private List<Fields> field = new List<Fields>();
public string ID { get; set; }
public string TotalLength { get; set; }
public List<Fields> MyProperty
{
get { return field; }
set { field = value; }
}
}
internal class Fields
{
public string name { get; set; }
public string startByte { get; set; }
public string length { get; set; }
}
}
我一直在試圖switch語句來執行的XMLReader從我這裏提供的數據來填充類。例如:
using (XmlReader reader = XmlReader.Create(filename))
{
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
switch (reader.Name)
{
case "DataRecord":
var dataaa = new dataclass.DataRecord();
break;
}
break;
}
}
}
但正如我所說,這是一個例子,我已經尋找年齡,試圖找到一個答案,但我越來越糊塗了。希望有人能幫助我們解決我的問題。
你正在嘗試創建*一個*你的類的實例,還是大量的實例?單個實例的每個元素是否相當小? (您可以將XmlReader和LINQ結合到XML中,但不知道這些問題的答案,這將很難提供建議。) – 2013-04-04 16:26:15
我幾乎可以聽到'Jon Skeet' .. .. – MethodMan 2013-04-04 16:26:52
LINQ to XML支持流式傳輸。請參閱http://msdn.microsoft.com/en-us/library/system.xml.linq.xstreamingelement.aspx – 2013-04-04 19:45:31