你所应该知道的Dom4J
创建解析器:
SAXReader reader = new SAXReader();
利用解析器读入xml文档:
Document document = reader.read(new File("input.xml"));
获取文档的根节点:
Element root = document.getRootElement();
接口继承结构:
Node ---
Branch
—Document
—Element
---
Attribute
Node接口
String | asXML() 将一个节点转换为字符串 |
String | getName() 获取节点的名称,如果是元素则获取到元素名,如果是属性获取到属性名 |
short | getNodeType() 获取节点类型,在Node接口上定义了一些静态short类型的常量用来表示各种类型 |
Element | getParent() 获取父节点,如果是根元素调用则返回null,如果是其他元素调用则返回父元素,如果是属性调用则返回属性所依附的元素。 |
String | getText() 返回节点文本,如果是元素则返回标签体,如果是属性则返回属性值 |
List | selectNodes(String xpathExpression) 利用xpath表达式,选择节点 |
void | setName(String name) 设置节点的名称,元素可以更改名称,属性则不可以,会抛出UnsupportedOperationException 异常 |
void | setText(String text) 设置节点内容,如果是元素则设置标签体,如果是属性则设置属性的值 |
void | write(Writer writer) 将节点写出到一个输出流中,元素、属性均支持 |
Branch接口(实现了Node接口)
String | add(Element element) 增加一个子节点 |
String | addElement(QName qname) 获取节点的名称,如果是元素则获取到元素名,如果是属性获取到属性名 |
short | indexOf(Node node) 获取节点类型,在Node接口上定义了一些静态short类型的常量用来表示各种类型 |
Element | remove(Element element) 获取父节点,如果是根元素调用则返回null,如果是其他元素调用则返回父元素,如果是属性调用则返回属性所依附的元素。 |