|
2006年08月20日(日)更新 |
■XMLデータの作成
|
たけち: 今回からは、XMLデータを作成することを学んでゆこう。 さらら: はっ、はい。これまでは、XMLデータの読み方を教えてもらったものね。 たけち: うん。で、今回は、ルート要素だけの簡単なXMLデータを作ってみるね。 |
|
■出力するサンプルXMLデータ(1)と作成手順
|
たけち: まず、今回作成するサンプルXMLデータがどんなものかを示しておくね。 |
| 出力サンプルXMLデータ(1) manyosyuノードだけのXMLデータ |
|---|
|
<?xml version="1.0" encoding="UTF-8" ?> |
|
さらら: あら、manyosyuという空の要素があるだけなのね。 たけち: そうそう。次の図に、この簡単なXMLデータのDOM構造と、作成手順を載せておくね。最初の@ DOCUMENTの生成、そして最後のC DOMオブジェクトを文字列として出力 については特に気にしなくていいよ。 さらら: はい。 |

|
たけち: A manyosyuノードの生成 と B manyosyuノードの追加 で使っているメソッドについて簡単に説明しておくね。いずれも、 さらら: はい。 |
|
org.w3c.dom.Document:createElementメソッド
int | createElement() |
|---|---|
| 機能: 要素(Element)ノードを生成します。 | |
| パラメタ: String 要素名 | |
| 戻り値: Element 要素ノード |
org.w3c.dom.Document:appendChildメソッド
int | appendChild() |
|---|---|
| 機能: 指定したノードを追加します。 | |
| パラメタ: Node 追加するノード | |
| 戻り値: Node 追加されたノード |
■DOMサンプルプログラム manyosyuノードだけのXMLデータの生成と出力
|
たけち: じゃ、次に今回のDOMサンプルプログラム(21)のソースコードを載せておくね。 さらら: はい。 |
| 行 | DOMサンプルプログラム(21) DOMSample21.java |
|---|---|
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
package dom.study.sample_2;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
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;
public class DOMSample21 {
public static void main(String[] args) {
try {
DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docbuilder = dbfactory.newDocumentBuilder(); // DocumentBuilderインスタンス
Document document = docbuilder.newDocument(); // Documentの生成
/*
* root要素として manyosyu要素を生成
*/
Element root = document.createElement("manyosyu"); // manyosyuノード作成
document.appendChild(root); // ノードをDocumentに追加
/*
* DOMオブジェクトを文字列として出力
*/
TransformerFactory tfactory = TransformerFactory.newInstance();
Transformer transformer = tfactory.newTransformer();
transformer.transform(new DOMSource(document), new StreamResult(System.out));
} catch (ParserConfigurationException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (TransformerException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
}
}
|
|
たけち: 今回は、28行目と29行目に注目してね。28行目の さらら: はい。わかるわ。 |
|
■DOMSample21の実行例
|
たけち: じゃ、このDOMSample21プログラムを実行させてみよう。実行結果として、画面に次のような文字列が表示されるよ。 |
| DOMサンプルプログラム(21) DOMSample21.javaの実行結果 |
|---|
|
<?xml version="1.0" encoding="UTF-8"?> <manyosyu/> |

|
さらら: manyosyuという空の要素だけがあるXMLデータが表示されているわ。 たけち: 今回は、XMLデータを作成し、文字列として出力する基本的な手順を学んだということで、今回はこれでおしまい。おつかれさま。次回からは、少しずつ複雑な構造を持ったXMLデータを作ってゆこうね。 さらら: あっ、は〜い。楽しみだわ。ありがとね。 → 次回はXMLファイルを作成するです。....... (^ ^; |
|