加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何使用Java DOM创建XML节点?

发布时间:2020-12-14 16:24:15 所属栏目:Java 来源:网络整理
导读:如何使用 Java DOM创建下面的XML,我想从头创建它.有什么办法吗 我不想读它并克隆它,我只想通过DOM方法创建它. Java示例: Node booking=new Node();Node bookingID=new Node();booking.add(bookingID); XML示例: tns:booking tns:bookingID115/tns:bookingI
如何使用 Java DOM创建下面的XML,我想从头创建它.有什么办法吗
我不想读它并克隆它,我只想通过DOM方法创建它.

Java示例:

Node booking=new Node();
Node bookingID=new Node();
booking.add(bookingID);

XML示例:

<tns:booking>
    <tns:bookingID>115</tns:bookingID>
    <tns:type>double</tns:type>
    <tns:amount>1</tns:amount>
    <tns:stayPeriod>
        <tns:checkin>
            <tns:year>2013</tns:year>
            <tns:month>11</tns:month>
            <tns:date>14</tns:date>
        </tns:checkin>
        <tns:checkout>
            <tns:year>2013</tns:year>
            <tns:month>11</tns:month>
            <tns:date>16</tns:date>
        </tns:checkout>
    </tns:stayPeriod>
</tns:booking>

解决方法

除了上面提到的教程之外,这里是一个使用javax.xml.transform和org.w3c.dom包的简单示例:
import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.*;
import com.sun.org.apache.xerces.internal.dom.DocumentImpl;

public class XML {
    public static void main(String[] args) {
        XML xml = new XML();
        xml.makeFile();
    }

    public void makeFile() {
        Node item = null;
        Document xmlDoc = new DocumentImpl();
        Element root = xmlDoc.createElement("booking");
        item = xmlDoc.createElement("bookingID");
        item.appendChild(xmlDoc.createTextNode("115"));
        root.appendChild(item);
        xmlDoc.appendChild(root);

        try {
            Source source = new DOMSource(xmlDoc);
            File xmlFile = new File("yourFile.xml");
            StreamResult result = new StreamResult(new OutputStreamWriter(
                                  new FileOutputStream(xmlFile),"ISO-8859-1"));
            Transformer xformer = TransformerFactory.newInstance().newTransformer();
            xformer.transform(source,result);
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读