當我運行下面的代碼來添加一個具有屬性的元素時,它總是在最後添加xlmns =「」。我讀過,我需要爲它的父級或類似的東西設置命名空間。奇怪的是,在文件父項確實已經命名空間已經設置,所以我不知道爲什麼這不會被加載文檔時已經被解釋。但無論哪種方式,我只想知道如何告訴它命名空間在那裏,因此它將停止將xlmns =「」添加到所有內容的末尾。如何通過設置項目命名空間來擺脫xmlns =「」
XmlDocument xDoc = new XmlDocument();
xDoc.Load(projectFile);
// ...
// ...
var n = xDoc.CreateNode(XmlNodeType.Element, "Compile", null);
var a = xDoc.CreateAttribute("Include");
a.Value = filePath;
n.Attributes.Append(a);
itemGroupNode.AppendChild(n);
xDoc.Save(@"c:\projects\BusinessObjects\BusinessObjects.csproj");
你不使用[LINQ到XML的任何原因(HTTP:/ /msdn.microsoft.com/en-us/library/bb387098.aspx)? – dtb 2012-02-12 06:00:19
@dtb我不用xml很多工作(至少,除了序列化之外,我實際上並不需要自己搞砸xml)。這是我需要快速完成的一個非常小的工具,所以我只是以最快的方式做到這一點。如果我發現自己需要做更多的XML,但我相信我會使用它。 – 2012-02-12 06:04:13
與XTocument/XElement類的LINQ to XML相比,舊的XmlDocument/XmlElement類是一個很難處理的問題。嘗試一下! :-) – dtb 2012-02-12 06:05:41