XML-DOM操作

Document Object Model的缩写

使用 DOM 时,数据以类树结构被装入内存中。

DOM 使用根节点和父子关系。


DOM的三层模型将HTML、XML文档定义成树形结构。
文档中的标签,属性,文本等都封装成了节点对象。
封装成对象的好处就是更易于操作这些节点。

DOM本身就是对外暴露的一套API。

--------------------------------------------------------------

XML文档的节点

一个XML文档中只有一个根节点-没有父节点的元素节点
元素节点-根节点和根节点中的所有标签都是元素节点
属性节点-<student id=“001”></student> id就是属性节点
文本节点-<name>zhangsan</name> zhangsan就是文本节点

注释节点-<!-- --> xml文档中的注释信息

---------------------------------------------------------------------

DOM4J
DOM在java平台上的应用
dom4j是一套开源的类库。
集成的 XPath(路径查询语言)支持、 XML Schema(约束模式文档)支持。
具体操作:
-获取到dom4j的jar包以及帮助文档。
-将jar包设置到classpath中,就可以使用dom4j中提供的对象,进行xml文档的解析了。

-查看帮助文档了解对象的使用。

XML文档基本操作——Document
获取xml文档对象Document
File xmlFile = new File(“test.xml”);
SAXReader reader = new SAXReader();

Document xmlDoc = reader.read(xmlFile);

XML文档基本操作——Element

获取根元素对象
Element root = xmlDoc.getRootElement();
获取根元素名称

String elementName = root.getName();

获取直接子元素对象
通过元素名称获取元素对象
Element element = root.element(“元素名称");
获取所有直接子元素对象集合

List elementList = root.elements();

获取元素对象中的文本
获取element元素的内部文本
String text = element.getText();
获取element子元素内部文本

String text = element.elementText(“子元素名称”);

XML文档基本操作——Attribute

获取元素属性对象
通过属性名获取元素属性对象
Attribute   attribute = element.attribute(“属性名称");
通过索引获取属性对象
Attribute  attribute = element.attribute(0);
获取所有属性对象集合
List  attributeList = root.attributes();
获取属性值
通过属性对象
String value = attribute.getValue();
通过元素对象

String  value = element.attributeValue(“属性名称”);

XML文档基本操作——创建

创建文档Document

Document document = DocumentHelper. createDocument();

创建元素

Element element = document.addElement(“元素名称");
创建属性
element. addAttribute(“属性名”,“属性值"); 
添加属性方法返回的是原元素对象。如同StringBuffer。
创建文本

element.addText(“文本");

XML文档基本操作——删除节点

remove(Element element)

remove(Attribute attribute) 

remove(Text text) 
……
remove(Node node)
Node接口的子类对象都可以移除
注意:remove是移除直接子节点时使用

parentElement.remove(childElement);

XML文档基本操作——建立xml文件
建立xml文件
FileWriter fw = new FileWriter(“students2.xml”);
XMLWriter writer = new XMLWriter(fw);
writer.write(document);
writer.close();
建立漂亮的xml文档,可以指定字符编码
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding(“GBK");

XMLWriter writer = new XMLWriter(fw,format);


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值