已经存在的XML文件格式如下
<?xml version="1.0" encoding="GB2312"?>
<Root>
<Body>
<MessageID></MessageID>
<SendID></SendID>
<RecvID></RecvID>
<Message></Message>
</Body>
</Root>
如何在这个文件中再追加一组<Body></Body>.形成这样
<?xml version="1.0" encoding="GB2312"?>
<Root>
<Body>
<MessageID></MessageID>
<SendID></SendID>
<RecvID></RecvID>
<Message></Message>
</Body>
<Body>
<MessageID></MessageID>
<SendID></SendID>
<RecvID></RecvID>
<Message></Message>
</Body>
</Root>
用的是jdom。请大侠指导该如何操作?百分感谢
<?xml version="1.0" encoding="GB2312"?>
<Root>
<Body>
<MessageID></MessageID>
<SendID></SendID>
<RecvID></RecvID>
<Message></Message>
</Body>
</Root>
如何在这个文件中再追加一组<Body></Body>.形成这样
<?xml version="1.0" encoding="GB2312"?>
<Root>
<Body>
<MessageID></MessageID>
<SendID></SendID>
<RecvID></RecvID>
<Message></Message>
</Body>
<Body>
<MessageID></MessageID>
<SendID></SendID>
<RecvID></RecvID>
<Message></Message>
</Body>
</Root>
用的是jdom。请大侠指导该如何操作?百分感谢
if(parent==null ||!(parent instanceof Element) || child==null )
return parent;
((Element)parent).addContent((Content)child);
return parent;
}
先插入<Body></Body>,然后增加<Body></Body>的子结点?
Document doc=builder.build(new FileReader("xxx.xml"));
Element root=doc.getRootElement();
Element newElement=new Element("Body");
newElement.addContent(new Element("MessageID"));
newElement.addContent(new Element("SendID"));
....
root.addContent(newElement);
SAXReader reader=new SAXReader();
Document document =reader.read(new File(你的文件名));
Document doc= DocumentHelper.createDocument();
Element root=doc.getRootElement();
Element Body=root.addElement("Body");
//用body.addElement("节点名称").addAttribute("属性名","属性").addText("节点内容");
Body.addElement("MessageID");
Body.addElement("SendID")
Body.addElement("RecvID")
Body.addElement("Message")
try{
String indent=" "; //缩进符号
boolean newLines = true; // 是否产生新行(即一个元素一行)
org.dom4j.io.XMLWriter writer = new org.dom4j.io.XMLWriter(
new FileOutputStream("你的文件名"),new org.dom4j.io.OutputFormat(indent,newLines,"gb2312"));
writer.write(doc);
writer.flush();
writer.close();
}catch(Exception ex){}
已经得到原来的XML包内容
Document oldXML 如下
<?xml version="1.0" encoding="GB2312"?>
<Root>
</Root>新包 Document newXML
<?xml version="1.0" encoding="GB2312"?>
<Root>
<Body>
<MessageID>5</MessageID>
<SendID>6</SendID>
<RecvID>7</RecvID>
<Message>8</Message>
</Body>
</Root>Element oldroot = oldXML .getRootElement();
Element newroot = newXML .getRootElement();
Element newbody = newroot.getChild("Body");oldroot.addContent(newbody);
System.out.println(oldroot .getRootElement().getContent().toString());
结果内容不是想要的
<?xml version="1.0" encoding="GB2312"?>
<Root>
<Body>
<MessageID>5</MessageID>
<SendID>6</SendID>
<RecvID>7</RecvID>
<Message>8</Message>
</Body>
</Root>