如果在XML 文档的指定了默认的命名空间,那么产生的文档中将会出现xmlns=“”。
如何去掉这个烦人的xmlns=“”? 网络上似乎都没有讲明白。有人提示:
当我们在AppendChild的时候,如果ParentNode是带有xmlns属性的,而你新加的节点,在创建时不指定xmlns或指定为空时,子节点将出现xmlns="" 属性,始终无法去掉。
在C# 中如何指定xmlns 呢?先要定义一个默认的命名空间:
var doc = new XDocument();
doc.Declaration = new XDeclaration(new XDeclaration("1.0", "UTF-8", ""));
XNamespace aw = "http://opcfoundation.org/UA/ModelDesign.xsd";
在下面的节点 创建节点时,new.XElement(命名空间+“Object”),例如:
XElement appXML = new XElement(aw+"Object");
这样就去掉了xmlns=""。花费了一个晚上时间,分享出来,希望帮到有缘人。