使用 java 删除 XML 根的子级 [英] Remove a child of root of XML using java
本文介绍了使用 java 删除 XML 根的子级的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的 xml 文件.
This is my xml file.
- <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>
我想删除名为Active wavwform Status
"的节点.如何从 xml 中删除该特定节点.
I want to remove node with name 'Active wavwform Status
'. How can I reomve that particular node from xml.
我写的代码如下.
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...");
}
}
推荐答案
我得到了答案.
实际上我是从我的 xml 文件中删除节点,但我没有将它写入我的 xml 文件.
我错过了以下部分
I got the answer.
Actually I was deleting the node from my xml file, but I was not writing it to my xml file.
I was missing following part
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(selectedFile);
transformer.transform(source, result);
经过长时间的代码研究,我发现了这个愚蠢的错误,所以我更正了.
无论如何感谢您的回复.
After long time study of code I found this silly mistake, so I corrected it.
Anyways thanks for your reply.
这篇关于使用 java 删除 XML 根的子级的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文