JavaのXMLパーサは、XMLデータを扱うために使用されます。XMLはデータを転送または保存するために広く使用される技術です。そのため、多くのJava XMLパーサが利用可能です。
Java XMLパーサ
一部の一般的に使用されるJava XMLパーサは次のとおりです。
- DOMパーサ
- SAXパーサ
- StAXパーサ
- JAXB
その他にも、JDOM
やJiBX
など、XMLパース用の他のAPIもJavaで利用可能です。このJava XMLパーサのチュートリアルでは、異なる種類のXML処理APIを探索し、読み取り、書き込み、編集など、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ファイルをオブジェクトのリストに読み込むためのCallback Handlerクラスの作成方法を学びます。
StAX Java XMLパーサー
Java Streaming API for XML(Java StAX)は、JavaでXMLを処理するための実装を提供します。StAXには2つのセットのAPIがあり、カーソルベースのAPIとイテレータベースのAPIが含まれています。私はこれを異なる投稿で詳しく説明しています。
- StAXイテレータAPIを使用したXMLファイルの読み込み このチュートリアルでは、Java StAX(
XMLEventReader
)を使用してXMLを反復的に読み込む方法を学びます。 - StAXイテレータAPIを使用したXMLファイルの書き込み このチュートリアルでは、StAXイテレータベースのAPI(
XMLEventWriter
)を使用してJavaでXMLファイルを書き込む方法を見ていきます。 - StAX カーソル API を使用して XML ファイルを読み取る この記事では、StAX カーソル API(
XMLStreamReader
)を使用して XML データをオブジェクトに読み取る方法を示します。 - StAX カーソル API を使用して XML ファイルを書き込む Java の 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ドキュメントには、要素と属性を簡単に作成するためのメソッドが用意されています。
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オブジェクトにアノテーションを付ける必要があり、その後に
Marshaller
を作成してオブジェクトをXMLに変換する必要があります。Unmarshaller
はXMLをJavaオブジェクトに変換するために使用されます。このチュートリアルでは、最も広く使用されているJAXBのアノテーションとJavaオブジェクトをXMLに変換する方法(マーシャリング)およびXMLをJavaオブジェクトに変換する方法(アンマーシャリング)を学びます。
Java XMLパーサー – JiBX
JiBXは、XMLデータをJavaオブジェクトに変換およびその逆に変換するための非常に強力なフレームワークです。これは、XMLがデータ転送のフォーマットであるアプリケーション統合で非常に役立ちます。例えば、Webサービスおよびメッセージ指向モデル(MOM)に基づくレガシーシステムの統合です。
- JiBXチュートリアル JAXBやXMLBeansなどのXML変換のための多くのフレームワークがありますが、JiBXはXMLバインディングおよび変換プロセスへのアプローチが異なります。JiBXは、antスクリプトを使用してコンパイル時に生成されたユーティリティクラスを介してこれらのタスクを実行します。このアプローチにより、他のパーサーとの従来の2段階プロセスから単一のステップへの移行により処理時間が短縮されます。
XPath
XPathはXML文書の一部を定義するための構文を提供します。 XPath式は、クエリ文字列に基づいてXML文書の一部を選択するためのクエリ言語です。 XPath式を使用すると、クエリ文字列を満たす任意のXML文書内のノードを見つけることができます。
- XPathチュートリアル javax.xml.xpathパッケージはJavaでXPathサポートを提供します。 XPathExpressionを作成するには、XPath APIがファクトリメソッドを提供します。 このチュートリアルでは、指定された基準を満たす要素を見つけるためにXPathクエリ言語を使用します。
その他のJava XMLパーサータスク
- EclipseでXSDからサンプルXMLを生成する もしWebサービスを扱っているなら、XSDを使用しているはずです。そして、Webサービスをテストするには、XSDファイルからXMLを生成する必要があります。 EclipseはXSDからXMLを簡単に生成する方法を提供しています。
- XMLのXSDに対する検証 Java XML検証APIを使用してXMLをXSDに対して検証できます。このチュートリアルでは、
javax.xml.validation.Validator
クラスを使用してxmlファイルをxsdファイルに対して検証します。 - Java XMLプロパティファイル通常、Javaアプリケーションの構成パラメーターをプロパティファイルに格納します。Javaプロパティファイルは、キーと値のペアの通常のプロパティファイルであるか、XMLファイルでもあります。この例では、プロパティXMLファイルを作成し、次にXMLプロパティファイルからプロパティを読み取る方法について学びます。
- SOAP XML SOAPはXmlベースの転送プロトコルです。SOAPはSimple Object Access Protocolの略です。SOAPは、構造化された型付き情報を交換するための軽量なメカニズムです。XMLベースなので、言語やプラットフォームに依存しません。このチュートリアルでは、SOAP XMLについて学び、Liquid XML Studioソフトウェアを使用してSOAP XMLを作成する方法について説明します。
- XMLドキュメントのフォーマット XMLを見やすく出力し、XMLドキュメントを文字列に変換し、文字列をXMLドキュメントに変換するためのメソッドを備えたユーティリティクラスです。
- ドキュメントを文字列に変換し、文字列をドキュメントに変換する Javaでプログラムを書いているときに、実際にはXMLであるStringを受け取ることがあり、それを処理するためにはXMLドキュメント(org.w3c.dom.Document)に変換する必要があります。また、デバッグ目的や他の関数に送信するために、Documentオブジェクトを文字列に変換する必要がある場合もあります。文字列をXMLドキュメントに、XMLドキュメントを文字列に変換するための2つのユーティリティメソッドがあります。
I will be adding more java XML parser tutorials here as and when I post more, so don’t forget to bookmark it for future use.
Source:
https://www.digitalocean.com/community/tutorials/java-xml-parser