我有一个列表对象生成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