[英]How to get rid of xmlns=“” by setting project namespace
當我運行以下代碼以添加具有屬性的元素時,總是在末尾添加xlmns =“”。 我讀過我需要為其父級或類似名稱設置名稱空間。 奇怪的是,在文件中,父項確實已經設置了名稱空間,所以我不太清楚為什么在加載文檔時不會考慮這一點。 但是無論哪種方式,我只想知道如何告訴它名稱空間在那里,所以它將停止在所有內容的末尾添加xlmns =“”。
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");
您正在將名稱空間為""
的元素添加到名稱空間為"http://schemas.microsoft.com/developer/msbuild/2003"
的元素中。 這意味着新元素需要xmlns
屬性。
如果添加名稱空間為"http://schemas.microsoft.com/developer/msbuild/2003"
的元素,則不需要xmlns
屬性(因為它是從父元素繼承的):
var n = xDoc.CreateNode(XmlNodeType.Element, "Compile",
"http://schemas.microsoft.com/developer/msbuild/2003");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.