Javaによるプログラミングに関する世界観3E(XML)です。
JavaでXMLを扱うためには、DOM(Document Object Model)およびSAX(Simple API for XML)を使う。
SAXは、XMLを読み込みながら、ひとつひとつの要素が読み込まれるたびにイベントを通知する。
DOMは、ドキュメントに含まれるノードから成るツリーを作り、ツリー構造でXMLドキュメントの要素にアクセスできる。
SAXを使う場合、javax.xml.parsersパッケージのSAXParserFactoryクラスのnewSAXParser()とSAXParserクラスを使う。
org.xml.sax.helpers.DefaultHandlerを継承してstartDocument()、endDocument()、startElement()、endElement()、characters()などにイベント通知時の処理を記述する。
以下のページを参考に執筆しました。
DOMを使う場合、javax.xml.parsersパッケージのDocumentBuilderFactoryクラスのnewInstance()とnewDocumentBuilder()とDocumentBuilderクラスを使う。
getDocumentElement()を用いてノードを取得する。
org.w3c.domパッケージの中に、DocumentクラスやNodeクラスやElementクラスがある。
ノードの値はgetFirstChild()、getNodeType()、getNodeValue()、getNextSibling()で取得できる。
ノードの名前はgetNodeName()、属性値はgetAttribute()で取得できる。
ノードのリストはorg.w3c.dom.NodeListクラスで取得できる。
ノードツリーの作成はcreateElement()、setAttribute()、appendChild()、createTextNode()で行う。
作成したノードツリーはTransformerFactoryクラス、Transformerクラスで変換する。
以下のページを参考に執筆しました。
JavaBeansのパッケージにはオブジェクトのデータをシリアライズ、デシリアライズするためにXMLEncoderクラス(JavaBeansのデータをXMLに変換)とXMLDecoderクラス(XMLからデータを復元)が用意されている。
Javaクラスライブラリ(入出力)やシリアライズも参照のこと。
Javaにはプロパティファイルと呼ばれるものがある。これは各種の設定値を記述するもので、Java 5以降からはXML形式でも出力が可能になった。
Boost.PropertyTreeを用いたC++でのiniファイルの読み書きはC++(STL・ライブラリ)も参照のこと。
JavaScript(2.DOM/Canvas)を参照のこと。
JSONを参照のこと。