我想XmlDocument
是不贊成的類,我們必須改用XDocument
。但來自Windows 8 UX核心的TileUpdateManager.GetTemplateContent
返回XmlDocument
類。只要它是新的API,我想知道在這裏使用XmlDocument的原因是什麼?爲什麼XmlDocument在Windows8引擎中使用?
1
A
回答
1
(我使用的XDocument指Linq2XML &的XmlDocument對System.Xml API的)
理由的XDocument我可以看到:
- 的XDocument需要LINQ,這是.NET特定的。 Windows商店應用程序也可以用JavaScript構建,所以如果你要構建一個XDocument來跨越JavaScript腳本工作,那麼你需要移植LINQ,現在工程任務非常龐大。
- XDocument以功能性的方式處理XML,這非常不標準 - 使用XML的標準方式是通過DOM模型。所以XmlDocument提供了更符合其他方式工作的方式。
- 我猜你認爲他們是獨立的API - 當XDocument建立在正常的XmlReader類之上時。因此,除非您完全重寫了XmlDocument,否則您總是需要它 - 重寫某些運行良好的東西的價值在於,您可以將其隱藏在新版本的其他內容中。
- 儘管已經完成了對新API的大量清理&的改進,但請記住它仍然建立在COM &之上很多內置的Windows API(我們現在已有)(這種抽象意味着應該改變未來它不會影響我們,但目前它並不直接與內核通信),所以他們很可能利用現有的工具庫 - 這些工具都是基於DOM的,並且更好地與XmlDocument對齊。
1
XmlDocument類在.Net中有一段時間,他們可能更喜歡保持它那樣。另一個原因可能是有多語言支持。
您可以用另一個包裝/裝飾該功能。有多種方法,將XmlDocument的
private static XDocument DocumentToXDocument(XmlDocument doc)
{
return XDocument.Parse(doc.OuterXml);
}
private static XDocument DocumentToXDocumentNavigator(XmlDocument doc)
{
return XDocument.Load(doc.CreateNavigator().ReadSubtree());
}
private static XDocument DocumentToXDocumentReader(XmlDocument doc)
{
return XDocument.Load(new XmlNodeReader(doc));
}
+0
這並沒有真正解決問題(爲什麼在新的Win8 API中使用_older_ XML API?) –
相關問題
- 1. 爲什麼使用視圖引擎?
- 2. 爲什麼不使用規則引擎?或規則引擎
- 3. 正在使用什麼引擎?
- 4. 爲什麼引擎instanceof GroovyScriptEngineImpl?
- 5. 爲什麼引擎很有用?
- 6. wordpress 3.6使用什麼存儲引擎?
- 7. Paw使用了什麼JavaScript引擎?
- 8. FogBugz使用什麼wiki引擎?
- 9. cordova使用什麼js「引擎」?
- 10. MongoDB使用什麼搜索引擎?
- 11. html引擎JavaFX使用什麼?
- 12. 在Rails中爲引擎創建引擎的最佳方式是什麼?
- 13. 爲什麼fmt.Println不能在Google應用引擎中工作
- 14. 爲什麼javax.mail包在谷歌應用程序引擎sdk中?
- 15. 爲什麼內存引擎比InnoDB引擎存儲大得多?
- 16. 爲什麼模板引擎doest'n渲染
- 17. 爲什麼需要Push引擎
- 18. 爲什麼要裝一個引擎?
- 19. 模板引擎在Lets-Chat中使用了什麼?
- 20. Windows8的:爲什麼要使用本地通知
- 21. 爲什麼googlebot使用我的網站的搜索引擎?
- 22. 爲什麼模板引擎和角度使用雙鬍子?
- 23. 爲什麼使用專有模板引擎而不是html5?
- 24. 在mysql中使用引擎作爲MRG_MYISAM有沒有什麼好處
- 25. 什麼是腳本引擎?
- 26. 什麼是Docker引擎?
- 27. 爲什麼這個HTTPS POST在谷歌應用程序引擎
- 28. 爲什麼佈局引擎在這個例子中踢入?
- 29. Sizzle選擇器引擎有什麼用?
- 30. 新Python文檔中使用的搜索引擎是什麼?
它沒有被刪除!只有System.Xml.Linq更好,所以我們都一致使用它http://msdn.microsoft.com/en-us/library/system.xml.linq.aspx – om471987
使用2個功能相當的類集的感覺是什麼?如果Linq更好,爲什麼Microsoft迫使我們使用XmlDocument? –