Dies ist meine XML-Datei.Entfernen Sie ein untergeordnetes XML-Stammverzeichnis mit Hilfe von Java
- <deviceparameters>
- <parameter componenttype="TextBox">
<name>Operating Type</name>
<oid>1.3.6.1.4.1.31163.5.1.1</oid>
<writable>true</writable>
<description>The operating type defines which waveform type is used. This configuration takes several seconds to execute</description>
- <paramvalues type="Integer">
<value default="No">123</value>
</paramvalues>
</parameter>
- <parameter componenttype="TextBox">
<name>Active Waveform Status</name>
<oid>1.3.6.1.4.1.31163.5.1.2</oid>
<writable>false</writable>
<description>Show the status of the waveform configured by operatingType</description>
- <paramvalues type="String">
<value default="yes">Active</value>
</paramvalues>
</parameter>
</deviceparameters>
Ich möchte Knoten mit dem Namen 'Active wavwform Status
' entfernen. Wie kann ich diesen bestimmten Knoten aus XML neu erstellen?
Der Code, den ich geschrieben habe, ist unten.
rootElement = doc.getDocumentElement();
NodeList nList = doc.getElementsByTagName("parameter");
String nodeName = TF_name.getText();
System.out.println(""+nList.getLength());
for (int temp = 0; temp < nList.getLength();temp++)
{
Node nNode = nList.item(temp);
Element eElement = (Element) nNode;
String upname1 = getTagValue("name", eElement);
if(upname1.equals(nodeName))
{
System.out.println("Parent: "+nNode.getParentNode().getNodeName());
System.out.println("nodename: "+nNode.getNodeName());
System.out.println("rmoving ....");
rootElement.removeChild(nNode);
System.out.println("removed...");
}
}
Und haben Sie irgendwelche Fehler bekommen? Funktioniert es nicht? – Thilo
Was genau ist das Problem mit Ihrem Code? Es gibt etwas Magie in der 'getTagValue' Methode und wir kennen den Wert von' TF_name' nicht ... –
getTagValue() Methode gibt den Tag Wert des Knotens zurück. Und TF_name ist ein Textfeld, in dem der Benutzer einen Namen zum Löschen des Knotens eingibt. –