1。序文
JDOMとは何ですか?
JDOMは、純粋なJavaテクノロジーを使用してXMLドキュメントを解析、生成、シリアル化、操作を使用して、ツリー構造に基づいたオープンソースプロジェクトです。 Javaプログラミングを直接提供し、Java言語の機能(メソッドオーバーロード、コレクション)を使用し、SAXとDOMの機能を組み合わせて、元のXMLを可能な限り単純に解析します。 JDOMを使用してXMLを解析するのは簡単です。
JDOMの利点:
1。JDOMはJavaテクノロジーに専念しており、DOMアプリケーションよりもメモリが少なくなります。
2。JDOMは、XML情報にアクセスするためのよりシンプルで論理的な基本方法を提供します
3。XMLファイルに加えて、JDOMは他のデータソースにアクセスすることもできます。たとえば、SQLクエリ結果からデータにアクセスするクラスを作成できます。
JDOM構成:
JDOMは6つのパッケージで構成されています
要素クラスは、XMLドキュメントの要素を表します
org.jdom:XMLファイルを解析するために使用される基本クラス
org.jdom.Adapters:DOM適応を含むJavaクラス
org.jdom.filter:XMLドキュメントを含むフィルタークラス
org.jdom.input:読み取りXMLドキュメントを含むJavaクラス
org.jdom.output:出力XMLドキュメントを含むクラス
org.jdom.transフォーム:JDOM XMLドキュメントインターフェイスを他のXMLドキュメントインターフェイスに変換するJavaクラスが含まれています
XMLとは何ですか?
XMLは、広く使用されている拡張可能なマークアップ言語です。 JDOM、DOM4J、SAXなどの最も一般的に使用されるものを含む、JavaでXMLを解析する方法はたくさんあります。
JDOMパッケージダウンロード:http://www.jdom.org/downloads/index.html
ここでの著者のコードは、Javaを使用してXMLを作成し、XMLを読むことです。これはメモの紹介としてのみ使用されます。
2。操作
JDOMパッケージをダウンロードし、JDOM-2.0.6.JAR、JDOM-2.0.6-Javadoc.jarのファイルを解凍し、LIBフォルダーにパッケージをインポートします。 (注意してください、エラーがある場合は、JDOMのすべてのパッケージをインポートします)
例1:名前を使用してJDOMを使用してXMLファイルを作成します。xml
新しいクラスのカレアイダムを作成します
パッケージcom.book.jdom; Import java.io.filenotfoundexception; import java.io.fileoutputStream; Import java.io.ioexception; Import org.jdom2.document; Import org.jdom2.element; Import org.jdom2.output.utput.fultupter; {public static void main(string [] args){//要素要素の人、学生; people = new Element( "People"); sudutent = new Element( "sustent"); //属性学生.setattribute( "name"、 "zhang san"); sustent.setattribute( "salary"、 "8000"); // text sustent.settext( "hehe"); document doc = new document(people); // formatを読み取り、それを現在のformatformat format = format.getcompactformat(); //現在の形式形式を初期化します。 xmloutputter(format); try {//書かれたテキストを工場に送信し、ファイル出力ストリームを作成してデータを出力してxmlout.output(doc、new fileoutputstream( "people.xml")); blocke.printstacktrace();} catch(ioexception e){// todo auto-feenated catch blocke.printstacktrace();}/*実行結果:<?xmlバージョン= "1.0"エンコード= "utf-8"?例2:JDOMを使用して、seople.xmlファイルを解析します
新しいreadXMLクラスを作成します
パッケージcom.book.jdom; Import java.io.ioexception; import java.util.list; import org.jdom2.document; import org.jdom2.element; import org.jdom2.input.saxbuilder; import org.jdom2.input.saxbuilder; {//新しいビルダーはxmlsaxbuilder sax = new saxbuilder(); //データドキュメントを受け入れるドキュメントを作成しますdocument people.getChildren(); for(int i = 0; i <list.size(); i ++){element e = list.get(i); // get属性値system.out.println( "name:"+e.getattributevalue( "name")+"salary:"+e.getattributevalue( "salary"); (jdomexception e){e.printstacktrace();} catch(ioexception e){e.printstacktrace();}}}}/** running result:* name:zhang san salary:8000 hehe**/XMLの解析
jdom <?xmlバージョン= "1.0" encoding = "utf-8"?> <configuration> <キー名= "key name"> <value name = "textkey"> china </value> <value name = "enabled"> true </value> <value name = "photidwidth"> 38photoidwidwidth </value </value </value </value </value> </value </value> </value> <balue> <値> name = "Photoidheight"> 38 </value> <key name = "adult"> <value name = "crownpercent"> 0.10 </value name = "headpercent"> 0.60adultheadeadpercent </value> </key> <key name = "child name =" crownpercent "> 0.10 </value> <値=" </key> <key name = "australia"> <value name = "textkey"> australia </value> <value name = "enabled"> true </value> <value name = "photoidwidth"> 35photoidwidth </value> <value name = "photoidheight"> 45 </value> <キー> name = "headpercent"> 0.756 "add" headpercent </value> </key> <key name = "child name"> <value name = "crownpercent"> 0.072 </value name> <value name = "headpercent"> 0.711ChildHeadcer name = "PhotoIdWidth"> 35PhotoidWidth </value> <value name = "photoidheight"> 45 </value> <key name = "hand"> <value name = "crownpercent"> 0.064 </value> <value name = "headpercent"> 0.744adultheadecent </value> <キー> <キー> <キー> <キー> < name = "crownpercent"> 0.078 </value> <value name = "headpercent"> 0.689ChildHeadCercent </value> </key> </key> </configuration>パッケージ入力;インポートjava.util.arraylist; import java.util.list; import.jm.dom.document; import.jmom.document; org.jdom.jdomexcection; Import org.jdom.input.saxbuilder; public class readxml { / ** * @param args * / public static void main(string [] args)throws jdomexception、ioexception {saxbuilder sb = new saxbuilder(); //ドキュメントオブジェクトドキュメントdoc = sb.build(test.class.getClassLoader()。getResourceAsStream( "Nation.xml")); // root要素を取得しますroot = doc.getRootelement(); // <configuration> - > <key> list <lement> list = root.getChildren( "key"); list <lement> children = new arraylist <element>(); list <lement> childrens = new arrayList <element>(); for(int i = 0; i <list.size(); i ++){要素要素=(要素)list.get(i); system.out.print(element.getattributevalue( "name")); // <configuration> - > <key> - > <value> children = element.getChildren( "value"); for(int j = 0; j <children.size(); j ++){element elementChildren =(element)children.get(j); // <configuration> - > <key> - > <value name = "photoidwidth"> if(elementChildren.getattributevalue( "name")。 System.out.print( "<------------------" "+elementChildren.getAttributeValue(" name ")); // <configuration> - > <key> - > <value name =" photoidwidth "> tag system.out.print("、 "+elementchildren.getText();} <キー> children = element.getChildren( "key"); - > <キー> <キー名= "child"> - > <thedrens = elementchildren.getChildren( "value"); if(elementChildrens.getAttributeValue( "name")。equals( "headpercent")){system.out.println( "<---------->"+elementChildRens.getText()); }}}}} }}打印结果:中国<----------> photoidwidth、38photoidwidth <----------> 0.60Childheadpercentaustralia <----------> photoidwidth <---------> 0.711ChildHeadpercentaustria <----------> Photodwidth、35photoidwidth <----------> 0.689ch上記は、JDOMを使用してJava WebでXMLを解析する方法です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!