0

以下のコードを使用して、ルート ノード名を変更しています。しかし、それは私にとってはうまくいきません。これを行うのを手伝ってください。私の部分的なコードを以下に示します。

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

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

3 に答える 3

0

変更後に Save() メソッドを呼び出していないと思いますが、以下のコードを試してください

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

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

        hst_doc.Save("filename");
于 2013-04-06T05:37:01.917 に答える
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;

お役に立てば幸いです。

于 2013-04-06T05:32:27.340 に答える
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");
于 2013-04-06T05:47:15.700 に答える