我需要讀取XML文件(大於1 GB大小)並將數據加載到數據庫中。如果我使用LINQ讀數會比使用XmlReader
更快?使用LINQ進行C#XML讀取
-2
A
回答
2
XDocument
(LINQ to XML)和XmlDocument
是針對較小的文件,它們是所謂的DOM解析器。原因是他們將完整的文檔加載到內存中並進行解析。
XmlReader
是SAX parser並且適用於大文件,因爲只有小塊被讀取並且在讀取時檢查格式良好。
哪些文件算作「小」和「大」實際上取決於某些因素,如機器中安裝的內存。
一般來說,對於任何體面大小的XML文件,XmlReader
應該是有關原始執行時間的最快解決方案,但它也是迄今爲止最難實施和理解的API。特別是對於使用此API的新手來說,實施時間明顯高於其他API。
0
public void validateIputXML(string inputXmlPath)
{
XmlDocument document = new XmlDocument();
document.Load(inputXmlPath);
XmlNodeList recipientItem = document.GetElementsByTagName("RECIPIENT");
foreach (XmlNode childList in recipientItem)
{
string attibuteValue_TemplateID = getValue(childList,".//LETTER_HEADER/TEMPLATE_ID");
string attibuteValue_ProviderName = getValue(childList,".//LETTER_BODY/PROVIDER_INFO/PROVIDER_NAME");
string attibuteValue_ProviderAddress = getValue(childList,".//LETTER_BODY/PROVIDER_INFO/PROVIDER_ADDRESS1");
string attibuteValue_ProviderNumber = getValue(childList,".//LETTER_BODY/PROVIDER_INFO/PROVIDERNPI");
Report.Info(attibuteValue_TemplateID+"-->"+attibuteValue_ProviderName+"-->"+attibuteValue_ProviderAddress+"-->"+attibuteValue_ProviderNumber);
}
}
public string getValue(XmlNode Xnode, string attributeName)
{
XmlNode innerNode = Xnode.SelectSingleNode(attributeName);
string attributeValue = innerNode.InnerText;
return attributeValue;
}
相關問題
- 1. C#讀取XML使用LINQ
- 2. 使用LINQ讀取XML值
- 3. 使用LINQ來讀取XML
- 4. 讀取XML使用LINQ
- 5. 使用LINQ進行XML數據提取
- 6. 使用Linq將XML讀取到XML
- 7. LINQ to XML:讀取C#中的XML
- 8. xml文檔讀取使用XML LINQ在C#
- 9. 讀取行,並使用LINQ
- 10. 用LINQ讀取XML節點
- 11. 使用C#讀取XML
- 12. Atom xml使用C#讀取
- 13. 讀取XML和使用C#
- 14. 如何讀取使用LINQ到XML
- 15. 使用Linq讀取XML文件
- 16. 使用LINQ to SQL讀取DBML xml
- 17. 如何使用Linq讀取XML
- 18. 使用LINQ讀取XML文件
- 19. 我如何使用LINQ讀取XML
- 20. Noob LINQ - 使用XDocument讀取,過濾XML
- 21. 使用LINQ動態讀取XML
- 22. 使用LinQ讀取XML文件
- 23. 使用Linq讀取XML節點值
- 24. 使用linq讀取XML文件
- 25. 使用LINQ讀取XML元素
- 26. 使用LinQ讀取XML文件
- 27. C#XML Linq指向/讀取節點
- 28. LINQ讀取XML和執行片段
- 29. 從使用linq讀取的目錄中寫入廣告XML C#
- 30. 的LINQ to XML讀取方法使用的NullReferenceException C#在VS2017
Google可以爲您解答該問題:http://www.nearinfinity.com/blogs/joe_ferner/performance_linq_to_sql_vs.html – randoms