Java Web学习(四)

  1. xml

    xml是可扩展标记语言的缩写,用于提供数据描述格式,适用于不同应用程序之间的数据交换。

    xml由序言(声明,处理指令,注释)和文档元素组成。

    <![CDATA[  ]]>内放置的文本都会被当做普通文本。

  2. dom4j主要用于操作xml文档,如创建和解析xml文档。

    jar包:dom4j-1.6.1.jar和依赖包jaxen-1.1-beta-6.jar

  3. 创建xml文档

    1)创建xml文件对象

    方法一:Document doc =DocmentHelper。createDocment();

    方法二:DocumentFactory favtory = DocumentFactory.getInstance();

                Document doc = factory.createDocment();

    2)创建根节点:首先需要创建一个普通节点,然后调用Document的setRootElement()方法

    Element placard = DocumentHelper。createElement(”placard“);

    doc.setRootElement(placard);

    3)添加注释

    placard.addElement(”注释“);

    4)添加属性

    placard.addAttribute(”version“,”2.0“);

    5)创建子节点

    Element description = placard。addElement(”description“);

    6)设置节点的内容

    方法一:description。setText(”text“)

    方法二:description.addCDATA(”content“);

    7)设置编码

    OutputFormat format = new OutputFormat();

    format.setEncoding("GBK");

    8)设置输出格式

    OutputFormat format = OutputFormat.createPrettyPrint();

    9)输出xml文档

    String url = request.getRealPath("/xml/placard.xml");

    XMLWriter writer = new XMLWriter(new FileWriter(url));

    writer.write(doc);

    writer.close();

    若要输出到控制台:

    String url = request.getRealPath("/xml/placard.xml");

    XMLWriter writer = new XMLWriter(System.out,format);

    writer.write(doc);

  4. 解析xml文档

    1)构建xml文档对象

    String url = request.getRealPath("/xml/placard.xml");

    SAXReader reader = new SAXReader();

    Document doc = reader.read(new File(url));

    2)获取根节点

    Element placard = doc.getRootElement();

    3)获取子节点

    方法一:Element description= placard.element(”description“);

    方法二:elements(”name“)得到List对象。

  5. 修改xml文档

    1)修改节点

    在修改xml节点前,首先要查询到该节点。

    方法一:selectSingleNode(String xpathExpression)方法。xpath表达式用反斜杠/隔开节点树中的父子节点,从而构成代表节点位置的路径。若以/开头,则代表使用绝对路径,否则表示使用相对路径,如果使用属性则必须在属性名前加上@符号

            /placard/info[@id='1'] 

    Node item = placard.selectSingleNode("/placard/info[@id='1']");

    方法二:List nodes = placard.selectNodes("/placard/info");

    2)删除节点  placard.remove(item);

    3) 清除节点   doc.getRootElment().elements("info").clear();

你可能感兴趣的:(Java Web学习(四))