我有一個列表對象生成XML的函數:的XElement添加函數添加的xmlns = 「」 到的XElement
public XDocument ToXML()
{
foreach (var row in this)
{
var xml = row.ToXml();
template.Root.Add(xml);
}
return template;
}
的template.ToString()讀取:<RootElement xmlns="urn:testTools">
的xml reads:<Example><SubElement>testData</SubElement></Example>
添加函數執行了模板後.ToString() reads: <RootElement xmlns="urn:testTools"><Example xmlns=""><SubElement>testData</SubElement></Example>
所以出於某種原因,有一個空的名稱空間添加,我怎麼能阻止它這樣做?
好吧我現在明白了爲什麼它那樣做,謝謝! 但它是唯一有用的,如果你合併不同的XML,不同的命名空間,而不是創建一個單一的XML文檔。此外,一個空的名稱空間標記是無效的XML。 – JJoos 2010-02-19 15:57:12
@JJoos:一個空的命名空間肯定是有效的XML。是什麼讓你覺得它不是?另外,請記住單個XML文檔可能具有來自許多命名空間的元素和屬性。 – 2010-03-16 19:36:12
@約翰桑德斯 你是對的,認爲這是非法的,因爲: http://www.w3.org/TR/REC-xml-names/第2.2節的第一行。 有點混淆。謝謝。 – JJoos 2010-03-19 09:07:15