我需要處理現有的XML文檔,並從中創建一個新文檔,刪除一些節點和屬性,並可能添加新的文檔,那麼最好的一組類是完成這個?在.NET中處理XML的最佳方法
有很多用於XML操作的.NET類,我不確定最佳的方式是什麼。
我需要處理現有的XML文檔,並從中創建一個新文檔,刪除一些節點和屬性,並可能添加新的文檔,那麼最好的一組類是完成這個?在.NET中處理XML的最佳方法
有很多用於XML操作的.NET類,我不確定最佳的方式是什麼。
如果它是一個非常龐大的XML,無法放入內存中,則應使用XmlReader/XmlWriter。如果不是LINQ to XML非常容易使用。如果你沒有.NET 3.5,你可以使用XmlDocument。
這裏的刪除節點的例子:
using System.Xml.Linq;
using System.Xml.XPath;
var doc = XElement.Load("test.xml");
doc.XPathSelectElement("//customer").Remove();
doc.Save("test.xml");
謝謝!這可以在內存中使用xml作爲字符串還是僅使用文件? – juan 2010-03-18 13:41:03
無論它來自哪裏,它都應該能夠使用xml。您應該能夠調用XElement.Parse()並將xml作爲字符串傳遞。 – 2010-03-18 13:44:04
如果你想處理xml命名空間,特別是默認命名空間,請點擊這裏:http://stackoverflow.com/questions/25396140/use-xpath-with-xml-namespace – smwikipedia 2014-08-20 07:24:35
使用LINQ到XML You can see the XDocument class here
如果你有一個正式的架構,您可以使用XmlSerializer。否則,最好使用XmlDocument,XmlNode,XmlElement等類。
否則,它也可能取決於你使用的爲XML,即標記了一些文件,表示對象等
@Kurt:'XmlSerializer'不處理所有模式。 – 2010-03-18 13:38:50
與XML樣式表解析文檔可能是最簡單的選項,如果它僅僅是一個轉換處理。
Here is how to use XSLT in .NET.
和
Here is an introduction to XSLT.
它弄得我有點在第一,但現在我幾乎使用XSLT做我所有的XML轉換。
哪個.NET版本? – AakashM 2010-03-18 13:31:19