java 生成xml



package mytest;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

import org.w3c.dom.DOMException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Text;

import com.sun.org.apache.xerces.internal.dom.DOMImplementationImpl;
import com.sun.org.apache.xml.internal.serialize.OutputFormat;
import com.sun.org.apache.xml.internal.serialize.XMLSerializer;

public class myTest {

 public static void main(String[] args) {
  try {

   // 新規ドキュメントのツリーを作成する

   DOMImplementationImpl domimpl = new DOMImplementationImpl();

   Document doc = domimpl.createDocument(null, "Myself", null);

   Element root = doc.getDocumentElement();

   // 子要素を追加する

   root.appendChild(createNameElement(doc, "A001", "うえだ", "上田", "U", 1000));

   root.appendChild(createWhereElement(doc, "A002", "ながの", "長野", "N", 1200));

   printXmlDocument("testXml.xml", doc);

   System.out.println(doc);

  } catch (DOMException e) {

   e.printStackTrace();

  } catch (Exception e) {

   e.printStackTrace();

  }

 }

 private static Element createWhereElement(Document doc, String string, String string2, String string3,
   String string4, int i) {
  Element element_where = doc.createElement("where");
  element_where.appendChild(createElement(doc, "country", "name", "country", "China"));
  element_where.appendChild(createWhereElement_sheng(doc, string, string2, string3, string4, i));

  return element_where;
 }

 private static Element createWhereElement_sheng(Document doc, String string, String string2, String string3,
   String string4, int i) {
  Element element_where_sheng = doc.createElement("sheng");
  element_where_sheng.appendChild(createElement(doc, "sheng", "name", "shengfen", "henan"));
  element_where_sheng.appendChild(createElement(doc, "shiqu", "name", "shiqu", "zhumadian"));

  return element_where_sheng;
 }

 /**
  *
  * @param fileName
  *
  * @param doc
  *
  */

 private static void printXmlDocument(String fileName, Document doc) {

  try {

   // XMLドキュメントの出力ソースを作成する

   BufferedWriter bwriter = new BufferedWriter(new FileWriter(fileName));

   // 出力書式を制御するOutputFormatオブジェクトを作成する

   OutputFormat oform = new OutputFormat(doc, "UTF-8", true);

   // XMLSerializerシリアライザを作成する

   XMLSerializer serial = new XMLSerializer(bwriter, oform);

   // 作成したツリーを書き出す

   serial.serialize(doc);

   bwriter.close();

  } catch (IOException e) {

   e.printStackTrace();

  }

 }

 /**
  *
  * @param doc
  *
  * @param id
  *
  * @param furigana
  *
  * @param name
  *
  * @param initial
  *
  * @param salary
  *
  * @return
  *
  */

 private static Element createNameElement(Document doc, String id, String furigana, String name, String initial,
   int salary) {

  Element element = doc.createElement("名前");

  element.setAttribute("id", id);

  element.appendChild(createElement(doc, "名字", "ふりがな", furigana, name));

  element.appendChild(createElement(doc, "イニシャル", initial));

  element.appendChild(createElement(doc, "給与", salary));

  return element;

 }

 /**
  *
  * @param doc
  *
  * @param elementName
  *
  * @param attributeName
  *
  * @param attributeValue
  *
  * @param bodyValue
  *
  * @return
  *
  */

 private static Element createElement(Document doc, String elementName, String attributeName, String attributeValue,
   String bodyValue) {

  Element element = doc.createElement(elementName);

  element.setAttribute(attributeName, attributeValue);

  Text text = doc.createTextNode(bodyValue);

  element.appendChild(text);

  return element;

 }

 /**
  *
  * @param doc
  *
  * @param elementName
  *
  * @param bodyValue
  *
  * @return
  *
  */

 private static Element createElement(Document doc, String elementName, String bodyValue) {

  Element element = doc.createElement(elementName);

  Text text = doc.createTextNode(bodyValue);

  element.appendChild(text);

  return element;

 }

 /**
  *
  * @param doc
  *
  * @param elementName
  *
  * @param bodyValue
  *
  * @return
  *
  */

 private static Element createElement(Document doc, String elementName, int bodyValue) {

  return createElement(doc, elementName, Integer.toString(bodyValue));

 }

}




运行结果

<?xml version="1.0" encoding="UTF-8"?>
<Myself>
    <名前 id="A001">
        <名字 ふりがな="うえだ">上田</名字>
        <イニシャル>U</イニシャル>
        <給与>1000</給与>
    </名前>
    <where>
        <country name="country">China</country>
        <sheng>
            <sheng name="shengfen">henan</sheng>
            <shiqu name="shiqu">zhumadian</shiqu>
        </sheng>
    </where>
</Myself>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值