我有XDocument.Load()從文件 加載xml和XDocument.parse()從字符串加載xml, 可以找到任何方式來組合和從文件或字符串動態加載?可以將XDocument.Load()和XDocument.parse()組合成一個嗎?
-1
A
回答
0
根據你的意思是XDocument.PARSE()而不是XDocument.PRASE()的假設,我相信下面的函數應該在這方面幫助你。 我們只是在加載它之前檢查文件是否存在,如果它不存在,那麼它應該是一個xml字符串。在這兩種情況下,我們用try catch覆蓋自己並返回null。
要使用下面的內容,我會在繼續之前仔細檢查返回值是否爲空。
if(LoadXml(xmlFile) == null)
{
//enter code for fail to load, will continue if correct.
}
的功能:
private XDocument LoadXml(string xmlFile)
{
//initialise a new XDocument
XDocument doc = new XDocument();
//check to see if xmlFile exists as a file in the OS.
if (File.Exists(xmlFile))
{
//try XDocument.load()
try
{
doc = XDocument.Load(xmlFile);
}
catch (Exception)
{
//if the load did not succeed then return null
return null;
}
}
else
{
//if it is not a file then try parsing the string.
try
{
doc = XDocument.Parse(xmlFile);
}
catch (Exception)
{
//if the parse failed (i.e. the string is not an xml format) then make doc = null
return null;
}
}
//return doc
return doc;
}
+1
爲什麼使用'Stream'來加載'XDocument'?如果文件存在,只需使用'XDocument.Load(string)'重載。 – Tim 2014-10-29 09:27:25
+0
一個非常好的點蒂姆。在這種情況下,我們不需要其他任何xmlFile。我現在要修改它 – 2014-11-04 10:41:31
相關問題
- 1. 將SELECT和INSERT查詢組合成一個...可能嗎?
- 2. 在Jersey中,我可以將QueryParams和FormParams組合成一個方法的值嗎?
- 3. javascript「ors」 - 它們可以組合成一個數組嗎?
- 4. 我可以將這兩條#update_all行組合成一行嗎?
- 5. 我可以將兩個'findAll'搜索塊合併成一個嗎?
- 6. 你可以將多個文件合併成一個文件嗎?
- 7. 是否可以將2個圖像組合成一個watchOS?
- 8. 我們可以將css和javascript結合成一個JavaScript文件嗎?
- 9. 我可以將html5shiv.js和respond.min.js合併到一個文件中嗎?
- 10. 我可以將這兩個SQL查詢組合成單個查詢嗎?
- 11. 我可以組合兩個DefaultListModels嗎?
- 12. 是否可以將以下類組合成單個泛型類?
- 13. 將php數組組合成一個
- 14. 我可以將plyr的列和函數組合在列上嗎?
- 15. 將兩個圖組合成一個
- 16. 將三個詞組合成一個?
- 17. 你可以將一個DataTable聲明爲一個數組嗎?
- 18. 我可以將這兩個應用程序(本地和混合)組合到一個應用程序中嗎?
- 19. 可以jsp:param存儲一個集合嗎?
- 20. 我可以將兩個SQLite SELECT語句合併爲一個嗎?
- 21. 拿一個數組並將它組合成另一個數組
- 22. 你可以將數組作爲數組中的一個值嗎?
- 23. 可以和數組一起使用嗎?
- 24. 我可以將多個目錄符號鏈接成一個嗎?
- 25. 可以用另一個函數組合HListElim嗎?
- 26. DataTemplate可以成爲一個頁面嗎?
- 27. 將CSS聲明合併成一個可能嗎?
- 28. 將表格組合成一個
- 29. 將CSS行組合成一個
- 30. 將兩個csv行組合成一行
請重新表述您的問題。不清楚你想要什麼 – Jehof 2014-10-29 09:20:15
那麼,你可以編寫代碼來選擇使用哪種方法,這取決於XML來自哪裏。如果你問是否有一個框架方法在運行時根據類型調用'Load'或'Parse',那麼不,沒有。 – Tim 2014-10-29 09:23:02
@Jehof - 我不認爲'linq-to-xml'標籤在這裏一定是適用的,因爲這個問題對於LINQ沒有任何問題,即使'XDocument'是linq-到XML。 – Tim 2014-10-29 09:25:51