• DOM生成XML文件


     1 /**
     2  * 从数据库读取学生信息的数据集合,然后Dom创建数据树,再转成XML格式数据,输出生成xml文件
     3  * @author pikaqiu
     4  *
     5  */
     6 public class TestGenXml {
     7     
     8     public static void main(String[] args) throws Exception {
     9         DocumentBuilderFactory db=DocumentBuilderFactory.newInstance();
    10         DocumentBuilder b=db.newDocumentBuilder();
    11         Document dom=b.newDocument();
    12         //根节点
    13         Element root=dom.createElement("info");
    14         dom.appendChild(root);
    15         StudentService service=new StudentService();
    16         List<Student> list= service.queryAll();
    17         Iterator<Student> t =list.iterator();
    18         while(t.hasNext()){
    19             Student stu=t.next();
    20             //一个主标签
    21             Element stuElement=dom.createElement("student");
    22             stuElement.setAttribute("id", stu.getId()+"");
    23             root.appendChild(stuElement);
    24             //name子标签
    25             Element nameEle=dom.createElement("name");
    26             nameEle.setTextContent(stu.getName());
    27             stuElement.appendChild(nameEle);
    28             //addr子标签
    29             Element addrsEle=dom.createElement("address");
    30             addrsEle.setTextContent(stu.getAddr());
    31             stuElement.appendChild(addrsEle);
    32             //telephone子标签
    33             Element telEle=dom.createElement("telephone");
    34             telEle.setTextContent(stu.getTelephone());
    35             stuElement.appendChild(telEle);
    36             
    37         }
    38         //通过工厂实例创建Transformer类实例,Transformer为抽象类,其实例能够将源树转换为结果树。
    39         TransformerFactory tf=TransformerFactory.newInstance();
    40         Transformer tans=tf.newTransformer();
    41         
    42         //给XML美化格式
    43         tans.setOutputProperty(OutputKeys.INDENT, "yes");
    44         tans.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "2");
    45         
    46         //以 Document Object Model(DOM)树的形式充当转换 Source 树的持有者。
    47         DOMSource ds=new DOMSource(dom);    
    48         StreamResult result=new StreamResult("c:/Users/bwf/Desktop/stu.xml");
    49         //将 XML Source 转换为 Result。
    50         tans.transform(ds, result);
    51     }
    52     
    53     
    54     
    55 
    56 }
  • 相关阅读:
    leetcode:Valid Parentheses(有效括号匹配)
    leetcode:Remove Nth Node From End of List (移除从尾部数的第N个节点)
    leetcode:Letter Combinations of a Phone Number(手机号码的字母组合)
    leetcode:4Sums(四个数相加的和)
    leetcode:3Sum Closest
    leetcode:3Sum (三个数的和)
    leetcode:Longest Common Prefix(取最长字符串前缀)
    php数据访问
    PHP 基础知识测试题
    面相对象设计模式
  • 原文地址:https://www.cnblogs.com/pikaqiucode/p/8253523.html
Copyright © 2020-2023  润新知