比如说:有如下xml文件,test.xml
<?xml version="1.0" encoding="gb2312"?>
<root>
<aaa> 测试节点一</aaa>
<bbb> 测试节点二</bbb>
<ccc> 测试节点三</ccc>
</root>
两个需求:
1:先读取,再注释掉某一个节点,比如aaa节点(<!--<aaa> 测试节点一</aaa>-->);再写回到test.xml文件中。2:在把上次注释掉的取消,再写回。
<?xml version="1.0" encoding="gb2312"?>
<root>
<aaa> 测试节点一</aaa>
<bbb> 测试节点二</bbb>
<ccc> 测试节点三</ccc>
</root>
两个需求:
1:先读取,再注释掉某一个节点,比如aaa节点(<!--<aaa> 测试节点一</aaa>-->);再写回到test.xml文件中。2:在把上次注释掉的取消,再写回。
解决方案 »
- 俩个IO流的题目,大家看看做的不出不、。?
- 关于IO流的小问题,我是新手,希望大家指点!
- 按钮拖放后存在的问题(望高手救人)
- 求求大家有没有Thinking in Java 3nd Edition的答案?英文的就行
- 求助:迷惑不解
- 高分求助:关于Exception抛出的问题
- JTree的事件委任的简单问题
- 我想学jbuilder,大家帮帮我
- 请帮帮忙,在用Socket进行传数据时,如何才能读出我发送的二进制流,并以二进制显示出来?
- java汉字显示乱码问题??
- 【求助】使用Graphics2D如何去除图形边缘的锯齿
- windowClosed()方法和windowClosing()方法有什么区别
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;/*
* 创建日期 2008-1-14
*//**
* @author C2One
* @version 1.0
* @see 添加注释
*/
public class Main {public static void main(String[] args) throws DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("input.xml"));
Node root=document.selectSingleNode("/root");
Node aaa=document.selectSingleNode("/root/aaa");
Element rootEl = (Element) root;
//注释
rootEl.remove(aaa);
Comment com = DocumentHelper.createComment(aaa.asXML());
rootEl.add(com);
//取消注释
Node bbb = document.selectSingleNode("/root/comment()");
rootEl.remove(bbb);
Element e = DocumentHelper.createElement("aaa");
e.setText(aaa.getText());
rootEl.add(e);
System.out.println(document.asXML());
}
}
XMLWriter output = null;
OutputFormat format = OutputFormat.createPrettyPrint();
document.setXMLEncoding("gb2312");
output = new XMLWriter(new FileWriter(new File("databaseSync1.xml")), format);
System.out.println(document.asXML());
//document.setXMLEncoding("gb2312");
output.write(document.asXML());
output.close();
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("gb2312");
XMLWriter writer = new XMLWriter(new FileWriter("output1.xml"),format);
writer.write(document);
writer.close();
String xmlS = "<?xml version="1.0" encoding="gb2312"?>
<root>
<aaa> 测试节点一 </aaa>
<bbb> 测试节点二 </bbb>
<ccc> 测试节点三 </ccc>
</root>
";
能不乱码的写入指定的xml文件中。谢谢
这个不是xml格式~`所以报错呗
如果你要写这种的,直接用File的写就行了,不用xml``
FileWriter fw = new FileWriter("output2.xml");
fw.write(document.asXML());
fw.close();
Element element=(Element)document.selectsingleNode("/root/comment()");
Element parent =(Element)document.selectsingleNode("/root");
parent.remove(element);
高手帮帮忙