Java Web学习(四)

  1. xmlnode

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

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

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

  2. dom4j主要用于操做xml文档,如建立和解析xml文档。.net

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

  3. 建立xml文档xml

    1)建立xml文件对象对象

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

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

                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();

相关文章
相关标签/搜索