2011-12-05 36 views
0

我有一個這樣的XML:追加XML字符串到現有XMLFILE使用C#

<name> 

<class> 

</class> 

</name> 

的話,我想在添加標記這樣

<tia:Demographic><Age/><DOB/></tia:Demographic> 

之間
<class> 

我們怎麼做到這一點。

我正在使用以下代碼。

XDoc.LoadXml(@"<name><class></class></name>"); 
XmlDocumentFragment xfrag = XDoc.CreateDocumentFragment(); 
xfrag.InnerXml = @"<tia:Demographic><Age/><DOB/></tia:Demographic>"; 
XDoc.DocumentElement.FirstChild.AppendChild(xfrag); 
XDoc.Save(@"D:\test.xml"); 

但它拋出一個錯誤,TIA:未註冊的命名空間

回答

2

你需要註冊一個命名空間:

class Program 
{ 
    static void Main() 
    { 
     var xdoc = new XmlDocument(); 
     xdoc.LoadXml(@"<name><class></class></name>"); 
     xdoc.DocumentElement.SetAttribute("xmlns:tia", "http://tia.com"); 
     var node = xdoc.CreateElement("tia", "Demographic", "http://tia.com"); 
     var xfrag = xdoc.CreateDocumentFragment(); 
     xfrag.InnerXml = @"<Age/><DOB/>"; 
     node.AppendChild(xfrag); 
     xdoc.DocumentElement.FirstChild.AppendChild(node); 
     xdoc.Save(Console.Out); 
    } 
} 
+0

感謝它幫助。 –