xml文档 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root>
<menu label="自助服务">
<item label="常见问题" target="_self" goto=""/>
<item label="在线解答" target="_self" goto=""/>
<item label="问题反馈" target="_self" goto=""/>
<item label="网络知识" target="_self" goto=""/>
</menu>
</root>我现在想把<menu label="自助服务">中的“自助服务”,改成“在线留言” 即<menu label="在线留言"> 而下面的<item>项都不发生任何改变
我的代码:
int index = Integer.parseInt(request.getParameter("index")) - 1;
org.jdom.input.SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(new FileInputStream(path));
Element root = doc.getRootElement(); //得到根结点
List elementList = root.getChildren(); //得到根结点下所有结点 Element children = (Element)elementList.get(index);
List childList = children.getChildren(); //取子节点
Element element = new Element("menu"); //添加新结点
element.setAttribute("label", p_type);
List ele = element.getChildren();
for(int i=0;i<childList.size();i++)
{
Element child = (Element)childList.get(i);
ele.add(child);
} elementList.remove(index); //删除旧结点
org.jdom.output.XMLOutputter outp = new XMLOutputter(Format.getPrettyFormat());
outp.output(doc, System.out);
outp.output(doc, new FileOutputStream(path));
<root>
<menu label="自助服务">
<item label="常见问题" target="_self" goto=""/>
<item label="在线解答" target="_self" goto=""/>
<item label="问题反馈" target="_self" goto=""/>
<item label="网络知识" target="_self" goto=""/>
</menu>
</root>我现在想把<menu label="自助服务">中的“自助服务”,改成“在线留言” 即<menu label="在线留言"> 而下面的<item>项都不发生任何改变
我的代码:
int index = Integer.parseInt(request.getParameter("index")) - 1;
org.jdom.input.SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(new FileInputStream(path));
Element root = doc.getRootElement(); //得到根结点
List elementList = root.getChildren(); //得到根结点下所有结点 Element children = (Element)elementList.get(index);
List childList = children.getChildren(); //取子节点
Element element = new Element("menu"); //添加新结点
element.setAttribute("label", p_type);
List ele = element.getChildren();
for(int i=0;i<childList.size();i++)
{
Element child = (Element)childList.get(i);
ele.add(child);
} elementList.remove(index); //删除旧结点
org.jdom.output.XMLOutputter outp = new XMLOutputter(Format.getPrettyFormat());
outp.output(doc, System.out);
outp.output(doc, new FileOutputStream(path));
try
{
DocumentBuilder dombuilder = domfac.newDocumentBuilder();
InputStream is = new FileInputStream("d:/menu.xml");
Document doc = dombuilder.parse(is);
Element root = doc.getDocumentElement();
root.getChildNodes().item(1).getAttributes().item(0).setNodeValue(
"在线留言");
System.out.println(root.getChildNodes().item(1).getAttributes()
.item(0).getNodeValue());
}
catch (Exception e)
{
e.printStackTrace();
}