大家帮帮忙把!明天要交jdom修改xml的问题
<?xml version="1.0" encoding="UTF-8"?>
<rsl>
<job>
<service value="a"></service>
<executable value="/tmp/test.sh"> </executable>
<directory value="/tmp"> </directory>
<arguments>
<arg value="12"> </arg>
<arg value="34"> </arg>
<arg value="56"> </arg>
<arg value="78"> </arg>
</arguments>
<environment>
<env name="PI" value="3.14"> </env>
</environment>
</job>
</rsl>
目标是修改该文档,遇到service value=“a”时在下一行添加
<location value="/haha"></location>
用的是jdom
我写的代码如下
import java.util.List;
import java.net.URL;
import org.jdom.*;
import org.jdom.xpath.*;
import org.jdom.input.*;
import org.jdom.output.*;
import java.io.*;
import java.util.*;
public class xmlReadWrite{
public static void main(String[] args) throws Exception{
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build("test.xml");
Element root = doc.getRootElement();
List list = XPath.selectNodes(root, "/rsl/job/service");
for(int i=0;i <list.size();i++){
Element element=(Element)list.get(i);
String name=element.getAttributeValue("value");
if (name.equals("a"))
{ Element d = new Element("location");
d.setAttribute("/haha");
root.setContent(d);
}}}}
但总是报错,说d.setAttribute("/haha");
root.setContent(d);的.上有问题
大家帮这看看再改改 ,我就这两天才学的jdom