欢迎光临
我们一直在努力

Java+XML学习Step by step(三)-JSP教程,资料/其它

建站超值云服务器,限时71元/月

/* 啊,兄弟们,前两个例子都是jaxp的,现在这个是xerces的,其实两个的差别并不大,只是其中一些地方
* 实现的不同,现在xerces也引入了documentbuilderfactory和documentbuilder,所以以后要创建一个
* document对象就可以使用一个统一的接口了,当然,你也可以使用别的方法来得到一个document实例,
* 下面我们会看到具体的例子
*
* 首先会创建一个新的document,然后在这个document基础上创建节点,最后用serializer输出
*
* author: belltree
*
*/

// 这个包就不用再讲了,定义了一系列的interface
import org.w3c.dom.*;

// 你可以不用下面这个包,这里import是为了使用documentbuilderfactory
import javax.xml.parsers.*;

// 下面这两个看看名字就明白,是实现(implementation)类
import org.apache.xerces.dom.documentimpl;
import org.apache.xerces.dom.domimplementationimpl;

// 这是serialize包,用来做输出
import org.apache.xml.serialize.outputformat;
import org.apache.xml.serialize.serializer;
import org.apache.xml.serialize.serializerfactory;
import org.apache.xml.serialize.xmlserializer;

// java.io包,输入输出的
import java.io.*;

/**
* @author jeffrey rodriguez
* @version $id$
*/
public class domgenerate {
    public static void main( string[] argv ) {
        try {
            /////////////////////////////////////////////////////////////////////////////
            // 这里使用documentbuilderfactory来工作,这也是import javax.xml.parsers的原因
            /////////////////////////////////////////////////////////////////////////////
            documentbuilderfactory dbf = documentbuilderfactory.newinstance();
            documentbuilder db = null;
            db = dbf.newdocumentbuilder();
            document doc = db.newdocument();
            ////////////////////////////////////////////////////////////////////////////
            
            // 下面也是一个创建document实例的方法,如果用这个,就可以不用javax.xml.parsers包
            //document doc= new documentimpl();
            
            // 下面可以看到,所有的element都由document实例创建,然后父节点用appendchild方法
            // 将其加到自身节点上
            element root = doc.createelement("person");     // 创建根节点
            element item = doc.createelement("name");       // 创建一个名为name的element节点
            item.appendchild(doc.createtextnode("jack"));   // 创建一个文本节点并加到name节点上
            root.appendchild(item);                         // 将该节点加到根节点上
            item = doc.createelement("age");                // 创建一个名为age的element节点
            item.appendchild(doc.createtextnode("28"));       
            root.appendchild(item);                         // 在根结点上又加一个
            item = doc.createelement("height");             // 创建一个名为hieght的element节点
            item.appendchild(doc.createtextnode("1.60"));
            root.appendchild(item);                         // 再加一个,这个跟在age后面
            doc.appendchild(root);                          // 好了,把根节点加到dcoument上

            outputformat format = new outputformat(doc);          // serialize dom
            
            //stringwriter stringout = new stringwriter();        // 作为一个字符串输出
            
            outputstream os = new fileoutputstream("out.xml");    // 也可以输出到文件
            
            //xmlserializer serial = new xmlserializer(stringout, format); // 这个就输出为字符串

            xmlserializer serial = new xmlserializer(os, format);          // 这个输出到文件
            
            serial.asdomserializer();                             // 作为一个 dom serializer

            serial.serialize(doc.getdocumentelement());           // 输出

            //system.out.println("strxml = " + stringout.tostring()); // 看看输出了些什么
        } catch ( exception ex ) {
            ex.printstacktrace();
        }
    }
}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Java+XML学习Step by step(三)-JSP教程,资料/其它
分享到: 更多 (0)