zoukankan      html  css  js  c++  java
  • Java 创建xml文件和操作xml数据

    java中的代码

    import java.io.File;
    import java.io.StringWriter;
    
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerConfigurationException;
    import javax.xml.transform.TransformerException;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    
    
    public class CreateXML {
    
        public static void main(String[] args) {
            
            try {
                //创建xml文件。DOM方式
                DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
                DocumentBuilder builder=factory.newDocumentBuilder();
                Document document=builder.newDocument();
                //添加根元素,指定标签
                Element root=document.createElement("books");
                //给根元素添加属性值
                root.setAttribute("id", "aaa");
                
                
                //创建一个子标签
                Element book1=document.createElement("book");
                book1.setAttribute("id", "1");
                //再创建下一级的子标签
                Element name1=document.createElement("name");
                Element price1=document.createElement("price");
                //设定标签内的内容
                name1.setTextContent("小说");
                price1.setTextContent("100元");
                //把子标签添加到上一级标签,appendChild方法
                book1.appendChild(name1);
                book1.appendChild(price1);
                
                
                //复制以上代码,把节点填充完
                Element book2=document.createElement("book");
                book2.setAttribute("id", "2");
                Element name2=document.createElement("name");
                Element price2=document.createElement("price");
                name2.setTextContent("杂志");
                price2.setTextContent("200元");
                book2.appendChild(name2);
                book2.appendChild(price2);
                
                Element book3=document.createElement("book");
                book3.setAttribute("id", "3");
                Element name3=document.createElement("name3");
                Element price3=document.createElement("price3");
                name3.setTextContent("课本");
                price3.setTextContent("300元");        
                book3.appendChild(name3);
                book3.appendChild(price3);
                    
                root.appendChild(book1);
                root.appendChild(book2);
                root.appendChild(book3);
                document.appendChild(root);//最后一步
                //文档内容创建完毕,下面是输出文档
                TransformerFactory transformerFactory =TransformerFactory.newInstance();
                Transformer transformer1=transformerFactory.newTransformer();
                StringWriter writer=new  StringWriter();
                transformer1.transform(new DOMSource(document), new StreamResult(writer));
                System.out.println(writer.toString());//成功输出,可以复制
                //直接生成xml文件
                transformer1.transform(new DOMSource(document), new StreamResult(new File("newxml.xml")));
                
            } catch (ParserConfigurationException e) {
                e.printStackTrace();
            } catch (TransformerConfigurationException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            } catch (TransformerException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
                
                
                
            }
    
    }

    生成的xml文件代码

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <books id="aaa">
    <book id="1">
    <name>小说</name>
    <price>100元</price>
    </book>
    <book id="2">
    <name>杂志</name>
    <price>200元</price>
    </book>
    <book id="3">
    <name3>课本</name3>
    <price3>300元</price3>
    </book>
    </books>

  • 相关阅读:
    C++输入问题探究
    剑指offer自学系列(一)
    一道算法题加深我对C++中map函数的理解
    数据结构和算法自学之排序算法(一)
    pyqt5_01_流程走通
    最新谷歌驱动对照表
    移动端测试
    selenium封装
    request封装
    MD5自定义加密
  • 原文地址:https://www.cnblogs.com/275147378abc/p/5213397.html
Copyright © 2011-2022 走看看