Jdom
Dom4j
JDOM自身不包含解析器。
它通常使用SAX2解析器来解析和验证输入XML文档
Dom4j自身也不包含解析器 也使用SAX解析器,Dom4j 原本是Jdom的分支 很多方法功能相同 名字不同
--------------------------------------------------------------------------------------
Jdom使用步骤:
读取xml文档:
SAXBuilder builder=new SAXBuilder();//创建解析器对象
Document document=builder.build(String path);//解析xml文件
写入xml文档:
XMLOutputter outputer=new XMLOutputter(Format.getPrettyFormat()); //创建输出类 并指定输出格式
outputer.output(document, new FileOutputStream(String path ));//参数1为已经设置完节点和内容的document,参数2为文件输出流
Document类常用方法:
Document(); 得到一个空的document对象
getRootElement(); 返回根节点
Element 类常用方法:
getChildren(); 得到该节点下的所有子节点
getChild(String ChildName) 得到指定名称的子节点
getChildText(String ChildName) 得到指定子节点的文本
getAttributeValue(String AttributeName) 得到指定元素的值
setText(String Text); 设置该元素的文本
setAttribute(String AttributeName,String AttributeValue ) 设置属性值
addContent(Element Child) 添加子元素
-------------------------------------------------------------------------------------
Dom4j使用步骤:
读取xml文档:
SAXReader reader=new SAXReader();//创建解析器对象
Document document=reader.read(String path);//解析xml文件
写入xml文档:
Document document=DocumentHelper.createDocument(); 创建空Document对象
XMLWriter writer=new XMLWriter(new FileOutputStream(String path), OutputFormat.createPrettyPrint());
//创建输出器 第一个参数为文件输出流 第二个参数为输出格式
writer.write(document); 将设置完节点和值的document对象输出
writer.close(); 关闭输出器
Document类常用方法:
getRootElement(); 返回根节点
elements() 得到该节点下的所有子节点
addElement(String Name):给当前节点添加子节点 返回一个Element对象
Element 类常用方法:
elementText(String Name) 得到指定子节点的文本值
element(String Name) 得到指定子节点
getText() 得到该节点的文本值
attributeValue(String Name) 得到指定属性的值
addElement(String Name):给当前节点添加子节点 返回一个Element对象
setText(String value) 设置节点的文本值
addAttribute(String name, String value); 给节点添加一个属性