dom4j基础
来源:互联网 发布:淘宝大红包 编辑:程序博客网 时间:2024/05/19 21:01
dom4j的配置
需要引入的jar包:
- dom4j-1.6.1.jar
- jaxen-1.1-beta-6.jar
创建XML文档
1、创建XMl文档对象
Document document = DocumentHelper.createDocument();
或者
DocumentFactory documentFactory = DocumentFactory.getInstance();Document document = documentFactory.createDocument();
2、创建根节点
//DocumentHelper的createElement()创建普通节点public static Element createElement(String name);//name:节点名//Document的setRootElement()设为根节点public void setRootElement(Element rootElement);
3、添加注释
public Element addComment(String comment);//comment:注释内容
4、添加属性
public Element addAttribute(String name,String value);//属性名,属性值
5、创建子节点
//Element的addElement()创建子节点public Element addElement(String name);//子节点名
6、设置节点内容
将节点内容设置为普通文本:
//Element的setText()设置文本内容public void setText(String text);
将CDATA段作为节点内容:
//Element的addCDATA()设置CDATA中的文本内容public Element addCDATA(String cdata);
7、设置编码
默认编码为UTF-8
//OutputFormat的setEncoding()设置文档编码集public void setEncoding(String encoding);
8、设置输出格式
//OutputFormat的createPrettyPrint()设置文档缩进public static OutputFormat createPrettyPrint();
9、输出xml文档,两种方式:
未设置输出格式时,用XMLWriter的构造方法XMLWriter(Writer writer):
String fileURL = request.getRealPath("/xml/placard.xml");XMlWriter writer = new XMLWriter(new FileWriter(fileURL));//实例化XMLWriterwriter.write(document);//向流写入数据writer.close();//关闭XMLWriter
已设置输出格式或编码集,用XMLWriter的构造方法XMLWriter(Writer writer,OutputFormat format):
OutputFormat format = new OutputFormat();format.setEncoding("GBK");String fileURL = request.getRealPath("/xml/placard.xml");XMlWriter writer = new XMLWriter(new FileWriter(fileURL),format);writer.write(document);//向流写入数据writer.close();
也可以输出到浏览器或控制台:
//输出到控制台XMLWriter writer = new XMLWriter(System.out,format);writer.write(document);//不能调用close()//输出到浏览器//out为java.io.PrintWriter对象,可通过response.getWriter()获取,也可以是JSP内置对象。XMLWriter writer = new XMLWriter(out,format);writer.write(document);
解析XML文档
1、构建XMl文档对象
//SAXReader的read()获取XML文档对象public Document read(File file) throws DocumentException
2、获取根节点
public Element getRootElement()
3、获取子节点
//Element的element()或elements()来获取//获取指定名称的第一个节点public Element element(String name);//获取指定名称全部节点 public List elements(String name);
修改XML文档
1、修改节点
首先需要查询到该节点:
//Element的selectSingleNode()获取符合条件的唯一节点public Node selectSingleNode(String xpathExpression);//xpathExpression:XPath表达式,使用反斜杠"/"隔开节点树中的父子节点,构成代表节点位置的路径。如果以"/"开头,表示绝对路径,否则相对路径。如果使用属性,则在属性名前加上"@"。//返回Id为1的info节点/placard/info/[@id='1']//获取根节点placard的Id属性为1的子节点infoorg.dom4j.Node item = placard.selectSingleNode("/placard/info/[@id='1']");//Element的selectNodes()获取符合条件的节点列表public List selectNodes(String xpathExpression);
2、删除节点
先查询到要删除的节点,然后使用Element的remove():
public boolean remove(Element element);
例:
//删除指定节点Element element = (Element)placard.selectSingleNode("/placard/info/[@id='1']");if(null != element){ placard.remove(element);}//批量删除节点document.getRootElement().elements("info").clear();
阅读全文
0 0
- dom4j基础
- XML基础--解析(Dom4J)
- Dom4j学习笔记(基础配置与举例)
- XML基础之DOM4j解析(二)
- XML基础以及用DOM4j读取数据
- XML基础编程解析(DOM SAX Dom4J)
- Dom4j
- dom4j
- DOM4J
- DOM4j
- Dom4j
- Dom4j
- dom4j
- dom4j
- dom4j
- dom4j
- dom4j
- dom4j
- Oculus VR SDK实现-Oculus针对双眼显示的交换链设计
- 类属性和实例属性详解(python)
- poj1018(DP)
- IIS+ASP.NET+C++一次访问越界导致的崩溃调试
- 服务端程序链接oracle数据库
- dom4j基础
- 一句话区分shim和polyfill
- Oracle ADRCI诊断工具
- CSS中display属性介绍
- Android 5.0 Camera系统源码分析(1):CameraService启动流程
- (N)Telephony分析(三)之PhoneApp启动
- centos 中特定用户用sudo 执行命令不需要输入密码的设置
- 百练noi 19: 肿瘤检测
- Android在activity页面中让标题栏全屏显示自定义颜色