1 java读取xml格式的字符串。通过dom4j来读取。通过StringReader来。
如:String xmlString="<root id=\"aaaa\"><aa><a1>a1</a1><a2>a2</a2></aa><bb>bbb</bb></root>";
SAXReader saxReader=new SAXReader();
Document document=saxReader.read(new StringReader(xmlString));//通过StringReader来读取。将String转化为流
2 解析完xml格式的字符串之后。通过element(String name)可以得到该节点。只能得到当前节点的子节点。不能得到当前节点的子节点的子节点
如:String xmlString="<root id=\"aaaa\"><aa><a1>a1</a1><a2>a2</a2></aa><bb>bbb</bb></root>";
SAXReader saxReader=new SAXReader();
Document document=saxReader.read(new StringReader(xmlString));
Element root=document.getRootElement();
Element removeElement=root.element("aa");//得到子节点,是区分大小写的
3 如果想要删除某个子节点。先得到该子节点。然后再通过remove(Element element)来删除。参数为Element类型
如:String xmlString="<root id=\"aaaa\"><aa><a1>a1</a1><a2>a2</a2></aa><bb>bbb</bb></root>";
SAXReader saxReader=new SAXReader();
Document document=saxReader.read(new StringReader(xmlString));
Element root=document.getRootElement();
Element removeElement=root.element("aa");
if(removeElement==null){//判断是否找到该子节点
root.remove(removeElement);//删除子节点
}
总结:element(name)得到子节点、remove(Element element) 删除子节点
完整的例子:
String xmlString="<root id=\"aaaa\"><aa><a1>a1</a1><a2>a2</a2></aa><bb>bbb</bb></root>";
SAXReader saxReader=new SAXReader();
try {
Document document=saxReader.read(new StringReader(xmlString));
Element root=document.getRootElement();
Element removeElement=root.element("aa");
if(removeElement==null){
System.out.println("未找到该节点");
}else{
root.remove(removeElement);
System.out.println("已删除");
System.out.println(document.asXML());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
如:String xmlString="<root id=\"aaaa\"><aa><a1>a1</a1><a2>a2</a2></aa><bb>bbb</bb></root>";
SAXReader saxReader=new SAXReader();
Document document=saxReader.read(new StringReader(xmlString));//通过StringReader来读取。将String转化为流
2 解析完xml格式的字符串之后。通过element(String name)可以得到该节点。只能得到当前节点的子节点。不能得到当前节点的子节点的子节点
如:String xmlString="<root id=\"aaaa\"><aa><a1>a1</a1><a2>a2</a2></aa><bb>bbb</bb></root>";
SAXReader saxReader=new SAXReader();
Document document=saxReader.read(new StringReader(xmlString));
Element root=document.getRootElement();
Element removeElement=root.element("aa");//得到子节点,是区分大小写的
3 如果想要删除某个子节点。先得到该子节点。然后再通过remove(Element element)来删除。参数为Element类型
如:String xmlString="<root id=\"aaaa\"><aa><a1>a1</a1><a2>a2</a2></aa><bb>bbb</bb></root>";
SAXReader saxReader=new SAXReader();
Document document=saxReader.read(new StringReader(xmlString));
Element root=document.getRootElement();
Element removeElement=root.element("aa");
if(removeElement==null){//判断是否找到该子节点
root.remove(removeElement);//删除子节点
}
总结:element(name)得到子节点、remove(Element element) 删除子节点
完整的例子:
String xmlString="<root id=\"aaaa\"><aa><a1>a1</a1><a2>a2</a2></aa><bb>bbb</bb></root>";
SAXReader saxReader=new SAXReader();
try {
Document document=saxReader.read(new StringReader(xmlString));
Element root=document.getRootElement();
Element removeElement=root.element("aa");
if(removeElement==null){
System.out.println("未找到该节点");
}else{
root.remove(removeElement);
System.out.println("已删除");
System.out.println(document.asXML());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}