java处理xml格式的dom_用java操作XML文件(DOM解析方式)

XML 可扩展标记语言(Extensible Markup Language),是独立于软件和硬件的传输工具。

XML的作用:

(1)用作配置文件

(2)简化数据共享

(3)简化数据传输

XML DOM解析方式

在java工程中导入dom4j.jar包.

(一)用java读XML文件

<1>创建SAXReader对象.

RAXReader reader=new RAXReader();

<2>调用RAXReader的Document read(File file)方法,获取xml文件的Document对象(包含xml文件的dom结构).

Document doc=reader.read(new File("config.xml"));

注:read有很多重载方法,还可以传入流对象.

<3>调用Document的 Element getRootElement()方法,获取xml的根元素.

Element root=doc.getRootElement();

<4>获取根元素之后,有很多Element方法,利用这些方法就可以不断的解析xml的dom结构.

(1)获取当前元素下的所有子元素

List elements()

(2)获取当前元素下的所有同名子元素

List elements(String name)

(3)获取当前元素指定名称的子元素

Element element(String name)

(4)获取当前元素的名称

String getName()

(5)获取当前元素的内容

String getText()

String getTextTrim()

(6)获取当前元素下指定名称的子元素内容

String elementText(String name)

(7)获取当前元素的属性

Attribute attribute(int index)  //获取当前元素第index属性,从0开始

Attribute attribute(String name)  //获取当前元素指定名称的属性

<5>属性Attribute的相关方法

(1)获取当前属性的名称

String getName()

(2)获取当前属性的值

String getValue()

(二)用java写xml文件

先创建document对象,然后不断补全document的DOM结构,最后把document对象写入指定xml文件中

<1>先创建一个document对象,必须使用DocumentHelper的静态方法Document  static createDocument()来创建document对象

Document doc=DocumentHelper.createDocument()

<2>顶用Document的Element addElement()向document对象中添加指定名称根元素(只能调用一次,因为根元素只有一个)

Element root=doc.addElement(String name)

<3>后续,Element有很多方法,用于不断的补全Document的DOM结构

(1)在当前元素下添加指定名称的子元素(返回值是子元素)

Element addElement(String name)

(2)在当前元素添加其内容(返回值当前元素)

Element addText(String text)

(3)在当前元素添加器属性(返回值是当前元素,可以不断追加其属性)

Element addAttribute(String name,String value)

<4>补全DOM结构后,把document对象写入xml文件中

(1)创建XMLWriter高级流对象

XMLWriter writer=new XMLWriter();

注:XMLWriter writer=new XMLWriter(OutputStream os);,可省略第二步

(2)为XMLWriter设定低级输出流

FileOutputStream fos=new FileOutputStream("new.xml");

writer.setOutputStream(fos);

(3)将document对象写入xml文件中

wirter.write(doc);

(4)最后关闭XMLWriter流对象

writer.close();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值