透2018/7/272018/7/27こんにちは!フリーランスの長野です。JavaでXMLファイルって使っていますか?XMLファイルは項目と値のセットを人やソフトウェアが読み込めるように構成することができるので、データの保存や設定値を保存する場合によく使われます。・プロパティファイルやSerializationについてなど具体的な内容についても解説していきます。今回はXMLファイルの読み込み方法について、わかりやすく解説します。Languageの略です。マークアップ言語ですので、WEBサイトのデザインで使われるHTMLと似ています。マークアップ言語とは、タグと値のセットで作られ、文章を構造化する言語のことです。HTMLはブラウザが読み込むためのタグで構成されていますが、XMLは人やソフトウェアが読み込めるように構成することができます。以下はXMLファイルの簡単な例です。Yamada</name></info>DOMとは?SAXとは?XMLファイルを扱う際に、Javaでは操作するAPIが主に2つ用意されています。Modelの略で、要素がノードで表され、ノードの関係がノードツリーで表されます。ツリー構成はパソコン内のフォルダやファイルにも用いられています。XMLの略で、要素を先頭から順にひとつずつイベントの連続として読み込みます。DOMで読み込む方法まずはDOMのAPIを使う方法について説明します。準備とXMLの読み込みjavax.xml.parsersパッケージのDocumentBuilderクラスやDocumentBuilderFactoryクラスを使います。次にorg.w3c.dom.Documentクラスを使ってXMLファイルを読み込みます。File("Sample.xml"));タグ名と属性値の取得それでは要素を取得する方法を説明します。org.w3c.dom.ElementクラスのgetDocumentElementメソッドを使って要素を取得します。ノードの名前を取得するにはgetNodeNameメソッドを、属性値を取得するにはgetAttributeメソッドを使います。element.getAttribute("code"));子ノードの取得XMLではノード内にノードを記述することが多くあります。org.w3c.dom.NodeListクラスで子ノードのリストを扱います。子ノードのリストを取得するにはgetChildNodesメソッドを使います。子ノードはorg.w3c.dom.Nodeクラスで扱います。}}サンプルコードまとめサンプルコードをまとめて実行結果を確認してみましょう。読み取るXMLファイルは先ほどのSample.xmlを使います。次はSAXのAPIを使う方法について説明します。準備とXMLの読み込み同じようにXMLファイルを読み込む準備をします。javax.xml.parsersパッケージのSAXParserクラスやSAXParserFactoryクラスを使います。SAXsample());parseメソッドの第2引数でSAXsampleクラスのインスタンスを指定しています。このSAXsampleクラスは自作のクラスでorg.xml.sax.helpers.DefaultHandlerクラスを継承しています。org.xml.sax.helpers.DefaultHandlerクラスの継承について説明します。DefaultHandlerクラスの継承SAXのAPIの場合はorg.xml.sax.helpers.DefaultHandlerクラスを継承して、それぞれのイベントが発生した際の処理を記述します。ドキュメントの読み込みが開始された場合は、startDocumentメソッドに記述した内容が処理実行されます。開始ノードに達した場合は、startElementメソッドに記述した内容が処理実行されます。}}DefaultHandlerクラスのメソッドについては、こちらで詳しく解説していますので参考にしてください。https://docs.oracle.com/javase/jp/8/docs/api/org/xml/sax/helpers/DefaultHandler.htmlサンプルコードまとめサンプルコードをまとめて実行結果を確認してみましょう。読み取るXMLファイルは先ほどのSample.xmlを使います。読み込み終了プロパティファイルやSerializationについてこの記事ではXMLファイルをDOMやSAXのAPIを使って読み込む方法について解説しました。JavaではXML形式のプロパティファイルやJavaBeansクラスのオブジェクトデータをXML形式から読み込むこともできます。こちらで詳しく解説していますのでぜひ参考にしてください。2019年5月22日まとめここではXMLファイルの読み込み方法について説明しました。XMLファイルは項目と値がセットになったデータを人やソフトウェアが読み込めるように構成することができるので便利です。使いこなすことができるように、この記事を何度も参考にして下さいね!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。お問合せはこちらでも受け付けています。