zoukankan      html  css  js  c++  java
  • Java与XML

         目前有许多xml解析器,大多数解析器都是符合SAX和DOM之一的Java绑定。SAX可以读取文件并在遇到一些事件时调用代码,DOM可以读取文件并在内存中构造与文件中元素及其属性和内容对应的树或图。这种树可以遍历、搜索、修改或写到一个文件中。

         简单的“非验证型”解析器只检查XML语法是否正确,既是否格式规范。验证型解析器则可以检查XML是否遵循给定的DTD(文档类型定义)或XML模式(schema)。

         用XML处理器可以将其转换成其他格式,有两种方法进行转换:通用的XSLT处理器转换以及适用于XML定制操作的解析API。XSL则可以控制XML文档如何进行格式化、屏幕打印或者输出。从JDK 1.4开始,Java引入JAXP,是用于XML处理的Java API。

    一、从Java对象中生成XML(XML对象串行化器)

            首先导入Java.beans.XMLDecoder和XMLEncoder包。

    代码
    1 public class SerialDemoXML entends SerialDemoAbstractBase{
    2 public static final String FILENAME="serial.xml";
    3 public static void main(String[] args)throws IOException{
    4 new SerialDemoXML().save();
    5 new SerialDemoXML().dump();
    6 }
    7
    8 /*将文件保存在磁盘上*/
    9 public void write(Object theGraph) throws IOExcrption{
    10 XMLEncoder os=new XMLEncoder(
    11 new BufferedOutputStream(
    12 new FileOutputStream(FILENAME)));
    13 os.writeObject(theGraph);
    14 os.close();
    15 }
    16
    17 /*显示数据*/
    18 public void dump() throws IOException{
    19 XMLDecoder inp=new XMLDecoder(
    20 new BufferedInputStream(
    21 new FileInputStream(FILENAME)));
    22 System.out.println(inp.readObject());
    23 inp.close();
    24 }
    25
    二、使用XSLT转换XML

          具体的使用参考XSLT 的使用,这里只需要很少的Java代码

    三、使用SAX解析XML

    四、使用DOM解析XML

    五、使用DTD验证结构

  • 相关阅读:
    洛谷 P1903 【模板】分块/带修改莫队(数颜色)
    BZOJ 2038: [2009国家集训队]小Z的袜子(hose)
    LibreOJ #6208. 树上询问
    LibreOJ #6002. 「网络流 24 题」最小路径覆盖
    hdu 3861 The King’s Problem
    洛谷 P2868 [USACO07DEC]观光奶牛Sightseeing Cows
    洛谷 P2905 [USACO08OPEN]农场危机Crisis on the Farm
    洛谷 U3348 A2-回文数
    洛谷 P1001 A+B Problem
    LibreOJ #2130. 「NOI2015」软件包管理器
  • 原文地址:https://www.cnblogs.com/ITEagle/p/1674864.html
Copyright © 2011-2022 走看看