2013-04-06 134 views
0

我正在使用下面的代碼來更改根節點名稱。但它不適合我。請幫助我做到這一點。我的部分代碼如下。使用c重命名xml根節點#

XmlNode PackageListNode = hst_doc.SelectSingleNode("NewDataSet"); 
       XmlNodeList PackageNodeList = PackageListNode.SelectNodes("Table5"); 

       hst_doc.DocumentElement.Name.Replace("NewDataSet", "rows"); 

回答

0

請參考以下鏈接:

http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.aspx

關注這個代碼:

XmlDocument objDoc = new XmlDocument(); 
objDoc.LoadXml(str); 
XmlDocument objNewDoc = new XmlDocument(); 
XmlElement objNewRoot = objNewDoc.CreateElement("MasterList"); 
objNewDoc.AppendChild(objNewRoot); 
objNewRoot.InnerXml = objDoc.DocumentElement.InnerXml; 
String xml = docNew.OuterXml; 

希望它有幫助。

0
你是不是調用Save()方法後的變化試試下面的代碼

我相信

 XmlNode PackageListNode = hst_doc.SelectSingleNode("NewDataSet"); 
     XmlNodeList PackageNodeList = PackageListNode.SelectNodes("Table5"); 

     hst_doc.DocumentElement.Name.Replace("NewDataSet", "rows"); 

     hst_doc.Save("filename"); 
+0

我使用的是僅限xmldoumnet – user2176150 2013-04-06 06:19:58

+0

不是XML文件。我修改後使用xmldocument – user2176150 2013-04-06 06:20:39

+0

需要保存該文檔。 save()是根據您的要求選擇的重載方法。 – Gajendra 2013-04-06 07:09:18

0

試試這個

// Obtain a document; this method is implemented in 
// The Quintessential Program to Create a DOM Document from an XML File 
Document doc = parseXmlFile("infilename.xml", false); 


// Obtain the root element 
Element element = doc.getDocumentElement(); 


// Create an element with the new name 
Element element2 = doc.createElement("newname"); 


// Copy the attributes to the new element 
NamedNodeMap attrs = element.getAttributes(); 
for (int i=0; i<attrs.getLength(); i++) { 
    Attr attr2 = (Attr)doc.importNode(attrs.item(i), true); 
    element2.getAttributes().setNamedItem(attr2); 
} 


// Move all the children 
while (element.hasChildNodes()) { 
    element2.appendChild(element.getFirstChild()); 
} 


// Replace the old node with the new node 
element.getParentNode().replaceChild(element2, element); 

或者試試這個

XDocument doc = XDocument.Load("input.xml"); 
      doc.Root.Name = "program"; 
      doc.Save("output.xml");