如果在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=""。花费了一个晚上时间,分享出来,希望帮到有缘人。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐