Java XMLパーサー
Java XMLパーサーはXMLデータを扱うために使用されます。XMLはデータを輸送または保存するために広く使用されている技術です。そのため、多くのJava XMLパーサーが利用可能です。
Java XML パーサー
一般的に使用されるJavaのXMLパーサーには以下のものがあります;
- DOM パーサー
- SAXパーサー
- StAXパーサー
- JAXB
JavaではXML解析のために使用できる他のAPIもいくつかあります。例えば、JDOMやJiBXです。このJava XMLパーサーのチュートリアルは、さまざまな種類のXML処理APIを探求し、XMLの読み取り、書き込み、編集など、XMLに対して実行する必要があるいくつかの一般的なタスクを学ぶことを目的としています。
Java XML パーサー - DOM
DOMパーサーは、学ぶのに最も簡単なJavaのXMLパーサーです。DOMパーサーは、XMLファイルをメモリに読み込み、ノードごとに移動してXMLを解析することができます。DOMパーサーは小さなファイルには適していますが、ファイルサイズが増えると、パフォーマンスが遅くなり、より多くのメモリを消費します。
- XMLファイルを読むこの記事では、DOMパーサーを使用してXMLファイルをオブジェクトに解析する方法について説明します。
- XMLファイルの書き込みこの記事では、DOMパーサーを使用してオブジェクトデータをXMLファイルに書き込む方法を説明します。
- XMLファイルのDOMパーサーは、XMLデータを編集するためにも使用できます。この記事では、DOMパーサーを使用してXMLドキュメントの要素を追加、要素を削除、要素の値を編集し、属性を編集する方法を示します。
Java XML パーサー - SAX
Java SAXパーサーは、XMLドキュメントを解析するためのAPIを提供します。SAXパーサーはDOMパーサーとは異なり、完全なXMLをメモリにロードせず、XMLドキュメントを順次読み取ります。これはイベントベースのパーサーであり、XMLファイルを解析するためにコールバックメソッドを持つハンドラークラスを実装する必要があります。大きなXMLファイルの時間とメモリ使用量の観点から、DOMパーサーよりも効率的です。
- XMLファイルを読み取る方法 SAXパーサーを使用して、XMLファイルをオブジェクトのリストに変換するコールバックハンドラクラスの作成方法を学びましょう。
StAX Java XML パーサー
Java Streaming API for XML (Java StAX)は、JavaでXMLを処理するための実装を提供します。StAXは、カーソルベースのAPIとイテレーターベースのAPIという2つのAPIセットから構成されています。このJava XMLパーサーについては、さまざまな投稿で広く取り上げています。
- このチュートリアルでは、Java StAX(
XMLEventReader)を使用してXMLを反復的に読み取る方法を学びます。 - このチュートリアルでは、StAXイテレータベースAPI(
XMLEventWriter)を使用して、JavaでXMLファイルを書く方法を見ていきます。 - StAXカーソルAPIを使用してXMLファイルを読む この記事では、XMLデータをオブジェクトに読み込むためにStAXカーソルAPI(
XMLStreamReader)を使用する方法を説明します。 - Java StAXカーソルAPIを使用してXMLファイルを書く StAXカーソルAPIは、XMLを作成して出力するのが非常に簡単です。
XMLStreamWriterオブジェクトを作成し、そこにデータを書き込む必要があります。このチュートリアルでは、例を交えて詳しく説明します。
Java XML パーサー - JDOM
JDOMは、XMLドキュメントを簡単に読み取り、編集し、書き込むための優れたJava XMLパーサーAPIを提供します。JDOMは、SAXパーサー、DOMパーサー、STAXイベントパーサー、STAXストリームパーサーから下位の実装を選択するためのラッパークラスを提供します。JDOMの利点は、SAXからDOM、さらにSTAXパーサーに簡単に切り替えられることであり、クライアントアプリケーションが実装を選択できるようにファクトリーメソッドを提供できます。
- JDOMを使ったXMLファイルの読み込み このチュートリアルでは、JDOM XMLパーサーを使用してXMLファイルをオブジェクトに読み込む方法を学びます。
- JDOMを使用したXMLファイルの書き込みこのチュートリアルでは、JDOMを使用してJavaでXMLファイルを書く方法を学びます。JDOM Documentは、要素や属性を簡単に作成するためのメソッドを提供します。
XMLOutputterクラスを使用して、Documentを任意のOutputStreamまたはWriterオブジェクトに書き込むことができます。 - JDOM XMLファイル編集 JDOMはXMLファイルを操作するための非常に便利な方法を提供します。JDOMを使用するのは非常に簡単で、コードはクリーンで読みやすいです。このチュートリアルでは、要素の追加、要素の削除、要素の値の編集、および属性の値の編集方法を学びます。
Java XML パーサー - JAXB
Java Architecture for XML Binding (JAXB) は、オブジェクトをXMLに、XMLをオブジェクトに簡単に変換するためのAPIを提供します。JAXBは別のプロジェクトとして開発されましたが、広く使用され、最終的にJava 6のJDKの一部となりました。
- JAXBチュートリアル JAXBを使用するのは非常に簡単で、アノテーションを使用します。XML作成の指示を提供するためにJavaオブジェクトにアノテーションを付け、次にオブジェクトをXMLに変換するための
Marshallerを作成する必要があります。UnmarshallerはXMLをJavaオブジェクトに変換するために使用されます。このチュートリアルでは、最も広く使用されているJAXBアノテーションと、JavaオブジェクトをXMLに変換する方法(Marshalling)およびXMLをJavaオブジェクトに変換する方法(Unmarshalling)を学びます。
Java XML パーサー - JiBX
JiBXは、XMLデータをJavaオブジェクトおよびその逆に変換する非常に強力なフレームワークです。それは、XMLがデータ転送の形式であるアプリケーション統合において非常に便利です。例えば、Webサービスやメッセージ指向モデル(MOM)に基づくレガシーシステムの統合において役立ちます。
- JiBXチュートリアル XML変換のための多くのフレームワークが利用可能ですが、JAXBやXMLBeansなどがありますが、JiBXはXMLバインディングと変換プロセスにおいてアプローチが異なります。JiBXは、antスクリプトを使用してコンパイル時に生成されたユーティリティクラスを介してこれらのタスクを実行します。このアプローチは、他のパーサーの従来の2段階プロセスから1段階プロセスに移行することで処理時間を短縮します。
XPath
XPathはXML文書の一部を定義するための構文を提供します。XPath式は、クエリ文字列に基づいてXML文書の一部を選択するためのクエリ言語です。XPath式を使用することで、クエリ文字列を満たす任意のXML文書内のノードを見つけることができます。
- XPathチュートリアル javax.xml.xpathパッケージはJavaにおけるXPathサポートを提供します。XPathExpressionを作成するために、XPath APIはファクトリーメソッドを提供します。このチュートリアルでは、XPathクエリ言語を使用して、指定された条件を満たす要素を見つける方法を学びます。
雑多なJava XMLパーサーのタスク
- EclipseでXSDからサンプルXMLを生成する ウェブサービスに取り組んでいる場合、XSDを使用していることがあるでしょう。そして、ウェブサービスをテストするためには、XSDファイルからXMLを生成する必要があります。Eclipseは、XSDからXMLを生成する非常に簡単な方法を提供します。
- XSDに対してXMLを検証するために、Java XMLバリデーションAPIを使用できます。このチュートリアルでは、
javax.xml.validation.Validatorクラスを使用して、XMLファイルをXSDファイルに対して検証します。 - Java XMLプロパティファイル通常、Javaアプリケーションの構成パラメータはプロパティファイルに保存します。Javaのプロパティファイルは、キーと値のペアを持つ通常のプロパティファイルであるか、XMLファイルでもあります。この例では、プロパティXMLファイルの書き方と、XMLプロパティファイルからプロパティを読み取る方法を学びます。
- SOAP XMLはXMLベースのトランスポートプロトコルです。SOAPはSimple Object Access Protocolの略です。SOAPは構造化された型付けされた情報を交換するための軽量なメカニズムです。XMLベースであるため、言語やプラットフォームに依存しません。このチュートリアルでは、SOAP XMLについて学び、Liquid XML Studioソフトウェアを使用してそれを作成する方法を学びます。
- XMLドキュメントを整形するユーティリティクラスで、XMLをきれいに印刷するためのメソッドおよびXMLドキュメントを文字列に、文字列をXMLドキュメントに変換するメソッドを含みます。
- Javaでプログラミングをしているとき、Stringが実際にはXMLである場合があり、それを処理するためにはXML Document(org.w3c.dom.Document)に変換する必要があります。また、デバッグ目的や他の関数に送信するためには、DocumentオブジェクトをStringに変換する必要があるかもしれません。StringをXML Documentに変換するためのユーティリティメソッドと、XML DocumentをStringに変換するためのユーティリティメソッドが2つあります。
ここにJava XMLパーサーのチュートリアルをさらに追加していく予定ですので、今後の参考にするためにブックマークするのを忘れないでください。

