jsp操作xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- 说明是xml文件,文件的版本和字符编码 -->
<root version="2.0"><!-- 定义文档的根元素并设置version属性 -->
<book id="1"><!-- 定义文档的元素,id 是属性,属性可以设置为任意词-->
<name>水浒传</name>
<price>12.6</price>
<miaoshu><![CDATA[''><$&#]]></miaoshu><!-- CDATA是xml解析器当作普通文本,所以任何符号都不会被当做标记字符 -->
</book>
</root>

Xml的实体引用
字符    实体引用
<    &lt;
‘    &apos;
>    &gt;
“    &quot;
&    &amp;

Dom4j操作xml文档

创建xml文档
        //创建xml文档对象doc
        Document doc=DocumentHelper.createDocument();
        //使用DocumentFactory创建xml文档对象
        //DocumentFactory factory=DocumentFactory.getInstance();
        //Document docc=factory.createDocument();
        //创建普通节点
        Element root=DocumentHelper.createElement("root");
        //将root普通节点设置为根节点
        doc.setRootElement(root);
        //给节点添加注释
        root.addComment("根节点");
        //给节点添加属性
        root.addAttribute("version", "2.0");
        //添加子节点,获取子节点或添加子节点
        Element book=root.addElement("book");
        book.addAttribute("id","1");
        //添加节点内容
        book.setText("图书");
        Element book2=root.addElement("book");
        book2.addAttribute("id", "1");
        //添加CDATA内容
        book2.addCDATA("图书2");
        //设置输出路径
        String xmlpath="D:\\Users\\Administrator\\workspace\\HelloWorld\\WebContent\\WEB-INF\\two.xml";
        //设置输出格式
        OutputFormat format=new OutputFormat();
        format.setEncoding("GBK");
        //无格式输出文件
        //XMLWriter write=new XMLWriter(new FileWriter(xmlpath));
        //有格式输出
        XMLWriter write=new XMLWriter(new FileWriter(xmlpath),format);
        write.write(doc);
        write.close();
        
读取、修改、删除节点xml文档
        //读取xml文档
        String xmlpath="D:\\Users\\Administrator\\workspace\\HelloWorld\\WebContent\\WEB-INF\\two.xml";
        SAXReader read=new SAXReader();
        try {
            Document  doc=read.read(new File(xmlpath));
            //获得根节点
            Element root=doc.getRootElement();
            //根据节点名获取节点
            Element book=root.element("book");
            book.getText();
            //使用selectSingleNode方法查询节点
            //使用/来表示节点的归属[@id='1']查询book节点属性id等于1的节点
            Element bookr=(Element) root.selectSingleNode("/root/book[@id='1']");
            System.out.println(bookr);
            System.out.println(book.getText());
            //selectNodes()方法获取一组节点
            //List bookss=root.selectNodes("/root/book");
            //删除id为1的book节点
           root.remove(bookr);
           //删除所有book节点
           doc.getRootElement().elements("book").clear();
            //根据节点名获取节点数组
            List books=root.elements("book");
            for(int i=0;i<books.size();i++){
                Element bookl=(Element)books.get(i);
                System.out.println(bookl.getText());
                
            }
            
        } catch (DocumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }        

 

posted on 2017-03-15 20:39  拿着菜刀  阅读(2147)  评论(0编辑  收藏  举报

导航