java语言处理xml文档

xml可扩展标记语言,是一个非常有用的描述结构化信息的技术。xml语言与html语言虽然都源于SGML语言,但二者存在本质上的不同,主要体现在如下几方面:

1)与html不同,xml是大小写敏感的;

2)在html中,有些标签的结束标签是可以省略的,但是在xml中是绝不可以省略的;

3)在xml中,只有一个标签而且没有相对应的结束标签的元素必须以 / 结尾;

4)在xml中属性值必须用引号括起来,而在html中,引号可有可无。

5)html中属性名可以没有对应的属性值,而在xml中属性名必须有属性值。

java读写xml文档,可以通过DOM解析,DOM读取xml的步骤如下:

1)创建DocumentBuilderFactory的实例

    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstanse();

2)创建DocumentBuilder实例

   DocumentBuilder builder = factory.newDocumentBuilder();

3)创建Document实例,参数为要解析的文件输入流

   Document document = builder.parse(input);

4)通过document获取元素对象,即DOM树的根节点

   Element element = document.getDocumentElement();

5)然后逐次获取element的节点Node对象极其属性,直至读取完整个DOM树。

当然还可以用java实现写xml文档的功能,步骤如下:

1)创建DocumentBuilderFactory的实例

    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstanse();

2)创建DocumentBuilder实例

   DocumentBuilder builder = factory.newDocumentBuilder();

3)创建一颗空的DOM树

   Document document = builder.builder.newDocument();

4)一次创建根节点极其子节点、属性等,添加到DOM树中

5)创建TransformerFactory实例

   TransformerFactory tff = TransformerFactory.newInstance();

6)创建Transformer实例

   Transformer tf = tff.newTransformer();

7)创建DOMsource实例,参数即为之前创建好的DOM树

   DOMSource ds = new DOMSource(document);

8)设置xml文档的一些输出参数,如编码格式等

   tf.setOutputProperty(OutputKeys.ENCODING, "UTF-8");

9)创建StreamResult对象,参数为指定的文件输出流

  StreamResult sr = new StreamResult(out);

10)调用相关方法将创建好的文档输出

  tf.transform(ds,sr);

至此,java对xml文档的简单读写可以实现了。

posted @ 2013-01-11 11:08  mmy--博客园  阅读(881)  评论(0编辑  收藏  举报