关闭

演示使用DOM技术如何动态生成新的XML文档

150人阅读 评论(0) 收藏 举报
分类:
import java.io.File;
import java.io.FileOutputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
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;
import org.w3c.dom.Text;

/**
 * 演示使用DOM技术如何动态生成新的XML文档
 *
 * @version 1.0
 *
 *
 */
public class DOMCreateNewXML {

    public static void main(String[] args) {
        try {
            // 通过DocumentBuilderFactory抽象类的工厂方法newInstance()创建DOM解析器的工厂实例
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            // 通过DocumentBuilderFactory实例的静态方法newDocument()得到DOM解析器
            DocumentBuilder builder = factory.newDocumentBuilder();
            Document doc = builder.newDocument();
            // 根据需要创建节点
            Element userEle = doc.createElement("person");
            userEle.setAttribute("type", "person");
            Element nameEle = doc.createElement("name");
            Element ageEle=doc.createElement("age");
            Text text=doc.createTextNode("22");
            Text text1 = doc.createTextNode("xieyongxue");
            doc.appendChild(userEle);
            //doc.appendChild(ageEle);
            userEle.appendChild(ageEle);
            userEle.appendChild(nameEle);
            nameEle.appendChild(text1);
            ageEle.appendChild(text);
            // 建立TransformerFactory工厂实例
            TransformerFactory transFactory = TransformerFactory.newInstance();
            // 设定格式
            transFactory.setAttribute("indent-number", new Integer(4));
            // 使用工厂实例创建Transformer对象
            Transformer transformer = transFactory.newTransformer();
            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
            // 将变换后的Document封装到DOMSource对象中
            DOMSource domSource = new DOMSource(doc);
            File file = new File("D://newXML02.xml");
            FileOutputStream out = new FileOutputStream(file);
            StreamResult xmlResult = new StreamResult(out);
            // 使用Transformer实例的transform方法进行转换,将文档的内容映射到新的XML文档中,完成工作
            transformer.transform(domSource, xmlResult);

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

0
0
查看评论

利用DOM解析和创建xml文件

XML解析器是指可以解析XML文件的程序 常见解析器有 1.     SAX解析器,用于XML的简单API 2.     DOM解析器,文档对象模型 文档对象模型就是利用对象来把文档模型化,这些模型不仅描述了文档...
  • moonhelena
  • moonhelena
  • 2016-07-20 23:03
  • 389

关于动态生成dom绑定事件失效的原因及解决和live()

在测试给动态生成的dom绑定事件的时候发现事件失效,于是就测试了一下: 1. 事件失效的原因: (1)bind事件绑定只对dom中存在的元素有效,对于我们后来动态增加的元素是监测不到,所以绑定不了 (2)同样,当你使用var aa = document.getElementsByTagNa...
  • han_ying_ying
  • han_ying_ying
  • 2017-06-25 14:35
  • 671

jaxp解析器用dom方式操作xml文档的总结

1. xml解析技术概述  解析xml文档一般有两种技术:dom(Document Object Model)和sax(Simple API for XML)。dom即文档对象模型,是W3C组织推荐的处理xml的一种方式;sax不是官方标准,但它是xml社区事实上的标准,几乎所有的xml解析器都支持...
  • eson_15
  • eson_15
  • 2016-05-26 18:48
  • 2617

Dom解析XML

DOM(Document Object Model):W3C组织推荐的处理XML的标准接口.  http://www.w3.org/DOM/DOMTR.html  DOM特点:首先将整个XML文档读取到内存中才能进行某些操作,如果XML文档很大,则会影响性能。&#...
  • u013516966
  • u013516966
  • 2015-01-29 02:41
  • 915

XML-解析技术(dom解析,sax解析)

XML解析方式分为两种:dom和sax    dom:(Document Object Model, 即文档对象模型) 是 W3C 组织推荐的处理 XML 的一种方式。    sax: (Simple API for XML) 不是官方标准,但它是 XML ...
  • WillCold
  • WillCold
  • 2013-10-25 08:50
  • 1202

动态创建dom元素、获取dom元素的属性及遍历dom元素的方法

用于处理XML文档的DOM元素属性   childNodes  返回当前元素的所有子元素的数组      firstChild    返回当前元素的第一个下级子元素   lastChild   &#...
  • love__coder
  • love__coder
  • 2011-08-22 08:43
  • 4798

dom解析xml文档过程总结

先得到dom解析后的文档树,和root元素.然后递归解析,这个程序中没说明如何保存相应节点的值,如果要用hashtable数据结构保存各个节点的值,程序还得做相应调整,因为在这个递归中textvalue是在子调用中输出的,还得返回到上一层,跟父函数的节点名字对应  Documen...
  • shunan
  • shunan
  • 2007-09-15 11:02
  • 1051

sax和dom在解析xml文档时有什么区别

当你需要处理XML文档时,你的首要选择是使用DOM(文档对象模型)还是使用SAX(用于XML的简单API),即当前使用的两个主要的XML API。你可以使用任何一种(或者在同一时间使用两种)来处理XML文档,然而DOM将文档载入到内存中处理,而SAX则相反,它可以检测一个即将到来的 XML流,由此并...
  • zhupengqq
  • zhupengqq
  • 2016-04-18 18:31
  • 1290

关于jquery 的绑定事件on 如何绑定动态生成的dom元素

今天遇到个问题,在table里面动态更新数据,然后每一行会绑定相应的点击事件 我原本是想用 可作用于未来元素的on方法,但是实际上还是没有起作用,代码如下: $(".form-table tbody tr").on("click",function (...
  • cysear
  • cysear
  • 2017-04-20 14:56
  • 1635

5、使用DOM解析XML文档

DOM:Document Object Model (文档对象模型) 1、DOM与SAX W3C制定了一套书写XML分析器的标准接口规范--DOM。除此之外,XML_DEV邮件列表中的成员根据应用的需求也自发地定义了一套对XML文档进行操作的接口规范--SAX。这两种接口规范各有侧重,互有长短,...
  • kaoa000
  • kaoa000
  • 2013-02-27 10:41
  • 2755
    个人资料
    • 访问:26364次
    • 积分:1106
    • 等级:
    • 排名:千里之外
    • 原创:85篇
    • 转载:3篇
    • 译文:3篇
    • 评论:1条
    最新评论