• 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();
            }        
  • 相关阅读:
    [BAT]cmd命令之 cd /d %~dp0
    用Fiddler抓到的报文Content-Type: application/x-www-form-urlencoded,怎样解析?
    HDU 2646 栈的应用 STL
    Codeforces Round #332 (Div. 2)B. Spongebob and Joke
    Codeforces Round #311 (Div. 2)B. Pasha and Tea二分
    HDU4022 Bombing STL
    Codeforces Round #331 (Div. 2) C. Wilbur and Points
    Codeforces Round #331 (Div. 2) B. Wilbur and Array
    Codeforces Round #331 (Div. 2) A
    HDU5533(水不水?)
  • 原文地址:https://www.cnblogs.com/gynbk/p/6556285.html
Copyright © 2020-2023  润新知