| JDOM | |
|---|---|
| 安定版リリース | 2.0.6.1 / 2021年12月9日 ( 2021-12-09 ) |
| リポジトリ | |
| 書かれた | ジャワ |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | XMLバインディング |
| ライセンス | Apacheライセンスに類似 |
| Webサイト | jdom.org |


JDOMは、 Javaプラットフォーム向けに特別に設計されたオープンソースのJavaベースのXML文書オブジェクトモデルです。Java言語の機能を活用できるように設計されました。[ 1 ] JDOMはDocument Object Model(DOM)およびSimple API for XML(SAX) と統合され、 XPathとXSLTをサポートしています。[ 2 ] 外部パーサーを使用して文書を構築します。JDOMは、2000年3月からJason HunterとBrett McLaughlinによって開発されました。[ 3 ] JSR 102としてJavaコミュニティプロセスの一部となっていましたが、その後その取り組みは中止されました。[ 4 ]
ファイル「foo.xml」に次の XML ドキュメントが含まれているとします。
<shop name= "shop for geeks" location= "東京、日本" > <computer name= "iBook" price= "1200$" /> <comic_book name= "ドラゴンボール vol 1" price= "9$" /> <geekyness_of_shop price= "priceless" /> </shop>次のように、JDOM を使用して XML ファイルを Java オブジェクトのツリーに解析できます。
SAXBuilder builder = new SAXBuilder (); Document doc = builder . build ( new FileInputStream ( "foo.xml" )); Element root = doc . getRootElement (); // root.getName() は "shop" // root.getAttributeValue("name") は "shop for geeks" // root.getAttributeValue("location") は "Tokyo, Japan" // root.getChildren() は 3 つの Element オブジェクトを含む java.util.List オブジェクトです。ファイルまたは入力ストリームからドキュメント オブジェクトを作成したくない場合は、要素に対してドキュメント オブジェクトを作成できます。
Element root = new Element ( "shop" ); // ここで <shop></shop> がルートですDocument doc = new Document ( root ); // 指定された要素をルートとして新しいドキュメントを作成します逆に、次の例のように、要素のツリーを構築し、そこから XML ファイルを生成することもできます。
Element root = new Element ( "shop" ); root . setAttribute ( "name" , "shop for geeks" ); root . setAttribute ( "location" , "Tokyo, Japan" ); Element item1 = new Element ( "computer" ); item1 . setAttribute ( "name" , "iBook" ); item1 . setAttribute ( "price" , "1200$" ); root . addContent ( item1 ); // 他の要素に対しても同様の手順を実行しますXMLOutputter outputter = new XMLOutputter (); outputter . output ( new Document ( root ), new FileOutputStream ( "foo2.xml" ));