634 - JAXP - DOM - 要素内容を含む要素の追加Advertisement要素に対してテキストノードを追加する
要素内容を含んでいる要素をXML文章に追加する。
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
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.DOMImplementation;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Text;
public class test {
public static void main(String[] args){
try{
// ドキュメントビルダーの作成
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = dbFactory.newDocumentBuilder();
// ドキュメントの作成
DOMImplementation domImpl = builder.getDOMImplementation();
Document doc = domImpl.createDocument("", "root", null);
// ルートノードの参照を取得
Element root = doc.getDocumentElement();
// ノードの作成〜追加
Element name = doc.createElement("name");
root.appendChild(name);
// テキストノードの作成〜追加
Text value = doc.createTextNode("tarou");
name.appendChild(value);
// ファイルとして出力(検証用)
TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer transformer = transFactory.newTransformer();
DOMSource source = new DOMSource(doc);
FileOutputStream os = new FileOutputStream(new File("file.xml"));
StreamResult result = new StreamResult(os);
transformer.transform(source, result);
}catch(FileNotFoundException e){
e.printStackTrace();
}catch(ParserConfigurationException e){
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
}
}
結果(file.xml) <?xml version="1.0" encoding="UTF-8"?> <root><name>tarou</name></root> まず最初に、Documentオブジェクトを使用して要素とテキストノードを作成する。要素に対してテキストノードを追加して、その要素を任意の要素に追加する。 Advertisement |
ショートカット・634・634blog ・このカテゴリのトップページに戻る ・634labs UIコレクションギャラリー サイト検索Y!ログールビリヤード |