2012-08-06 51 views
0

创建命名空间我有添加新节点(命名空间),其用于生成XAML我的xml文件的问题。我这样做:的XML元素

XmlElement richTextColumns = xmlDoc.CreateElement("local2:RichTextColumns"); 

但我收到错误0xC00CE01D(同时调用xmlDoc.getxml)。我已经尝试添加属性的xmlns:local2 =“使用:App2.Common”到xmlDoc中:

var att = xmlDoc.CreateAttribute("xmlns:local2"); 
att.InnerText = "using:Dictionary.Common"; 
xmlDoc.Attributes.SetNamedItem(att); 

它导致该错误

对象引用不设置为一个对象的一个​​实例。

预先感谢您:)

回答

1

如果你想与一个特定的命名空间使用this call创建一个元素:

xmlDoc.CreateElementNS("using:Dictionary.Common", "local2:elementName") 
+0

在Win8中没有xmlDoc.CreateElement是需要3个ARGS:/ – 2012-08-06 15:55:51

+0

什么XML API您使用的?我假设你正在使用'System.Xml.XmlDocument'。 – Dan 2012-08-06 15:59:16

+0

“存在的system.xml没有System.Xml.XmlDocument”:/ – 2012-08-06 16:02:25

1

,你通常会做的,您可以创建一个元素,然后加载文档返回并添加属性附加伤害你正在寻找添加的命名空间。

XmlDocument doc = new XmlDocument(); 
    doc.LoadXml("link to yuor xml"); 
    XNamespace xmlns = "local2"; 
    public static void SetDefaultXmlNamespace(XElement xelem, XNamespace xmlns) 
    { 

     foreach(var e in xelem.Elements()) 
      e.SetDefaultXmlNamespace(xmlns); 
    } 

    doc.Root.SetDefaultXmlNamespace("local2") 
+0

你能写的东西吗?我不知道如何访问doc.Root元素。 – 2012-08-06 15:58:42

+0

@SyntaxError刚刚更新 – 2012-08-06 16:44:21