JSP XMLファイル操作テクニックの実例分析
3967 ワード
この例では、JSPのXMLファイル操作テクニックについて説明します.皆さんの参考にしてください.具体的には以下の通りです.
XML(Extensible Markup Language)拡張可能なタグ言語は、この基礎知識を以前に学んだことがある.このチュートリアルはなぜJ 2 EEの下に置いたのか、彼もJ 2 EEの13規範の一つであるため、XMLはW 3 C万次元ネットワーク組織連盟が指定し、規範を作ったので、規範でもあり、私たちも規範に従わなければならない.JDBC、サーブレット、Jsp、Ejbなどと同じである.
前の文章はすでにXMLのいくつかの基礎知識を紹介して、主にデータを格納して、伝送するために使用して、しかしこれらのデータは私達はどのように得て、つまりどのようにXMLを解析しますか?ここでまとめます.
まずXMLファイルを解析するには、DOM解析とSAX解析の2つの方法があります.まず、両者の概念と基礎知識を見てみましょう.
一、原理:
DOM解析:プログラムの実行が開始されると、まずXMLファイル全体をメモリにロードし、メモリにDOMツリーを形成し、あるプログラミング言語でこのツリー上の任意のノードを削除変更します.SAX解析:イベント駆動型の解析方式に基づく.解析には順序があり,順序は左から右へ,上から下へと守られる.イベント駆動型の解析方式はXMLファイルをすべてメモリにロードする必要がないので、この方式は大量のメモリを消費することはありませんが、解析過去のノードは再解析できず、柔軟ではありません.解析したい場合は、再びXMLファイルヘッダから始めるしかありません.
二、両者の長所と短所:
DOM解析:利点:柔軟性.ツリー全体がメモリに含まれているため、いつでもどこでもノードを操作できます.過去のノードを解析すると、再解析することができ、柔軟です.
欠点:XMLファイルが大きいと、このXMLファイルが大きいため、アクセスするノードが少ないため、メモリが大量に消費されます.まとめ:XMLファイルは小さく、解析するノードが多いので、DOM解析を使用する価値があります.
SAX解析:利点:大量のメモリを消費しない.欠点:柔軟性がありません(XMLファイルで解析するノードをすばやく特定できる別のテクノロジーXPATHを使用できます).まとめ:XPath技術があり、SAX解析方式がよく使われています.
三、JAVAにおいて、javaのJDKはXMLに関する解析を提供した:org.w3c.dom.*,これはSUNのw 3 c規範の実現である.しかし、効率は、あまり高くありません.したがって、dom 4 jなどのサードパーティ製コンポーネントをよく使用し、効率が比較的高い.
四、はい、例を見てみましょう.
1,JavaのJDKが提供しているものを利用して、XMLファイルを解析して読む:2つのブログの詳細を見てみる:Java Dom解析、Java Sax解析.
2,ここで書くとdom 4 jを利用した解析方法は、実は同じですが、dom 4 jの方法名は、属性名が使いやすいと思います.
a,XMLファイルを読む(以下はSAX解析方式に基づく):
b、ファイルを書くのは、上から下へ、私たちdom 4 jのDOM解析の方法です.
最後に書いた書類:
以上、XML解析の简単な総括のために、もちろん実际には非常に复雑なXMLファイルに出会うことができて、私达は自分でこれらの解析彼らのファイルを书いてみることができて、もちろん人が书いたものを使うことができて、ここはただ多く学ぶためで、それらの本质を理解します.
本文で述べたことが皆さんのJSPプログラム設計に役立つことを願っています.
XML(Extensible Markup Language)拡張可能なタグ言語は、この基礎知識を以前に学んだことがある.このチュートリアルはなぜJ 2 EEの下に置いたのか、彼もJ 2 EEの13規範の一つであるため、XMLはW 3 C万次元ネットワーク組織連盟が指定し、規範を作ったので、規範でもあり、私たちも規範に従わなければならない.JDBC、サーブレット、Jsp、Ejbなどと同じである.
前の文章はすでにXMLのいくつかの基礎知識を紹介して、主にデータを格納して、伝送するために使用して、しかしこれらのデータは私達はどのように得て、つまりどのようにXMLを解析しますか?ここでまとめます.
まずXMLファイルを解析するには、DOM解析とSAX解析の2つの方法があります.まず、両者の概念と基礎知識を見てみましょう.
一、原理:
DOM解析:プログラムの実行が開始されると、まずXMLファイル全体をメモリにロードし、メモリにDOMツリーを形成し、あるプログラミング言語でこのツリー上の任意のノードを削除変更します.SAX解析:イベント駆動型の解析方式に基づく.解析には順序があり,順序は左から右へ,上から下へと守られる.イベント駆動型の解析方式はXMLファイルをすべてメモリにロードする必要がないので、この方式は大量のメモリを消費することはありませんが、解析過去のノードは再解析できず、柔軟ではありません.解析したい場合は、再びXMLファイルヘッダから始めるしかありません.
二、両者の長所と短所:
DOM解析:利点:柔軟性.ツリー全体がメモリに含まれているため、いつでもどこでもノードを操作できます.過去のノードを解析すると、再解析することができ、柔軟です.
欠点:XMLファイルが大きいと、このXMLファイルが大きいため、アクセスするノードが少ないため、メモリが大量に消費されます.まとめ:XMLファイルは小さく、解析するノードが多いので、DOM解析を使用する価値があります.
SAX解析:利点:大量のメモリを消費しない.欠点:柔軟性がありません(XMLファイルで解析するノードをすばやく特定できる別のテクノロジーXPATHを使用できます).まとめ:XPath技術があり、SAX解析方式がよく使われています.
三、JAVAにおいて、javaのJDKはXMLに関する解析を提供した:org.w3c.dom.*,これはSUNのw 3 c規範の実現である.しかし、効率は、あまり高くありません.したがって、dom 4 jなどのサードパーティ製コンポーネントをよく使用し、効率が比較的高い.
四、はい、例を見てみましょう.
1,JavaのJDKが提供しているものを利用して、XMLファイルを解析して読む:2つのブログの詳細を見てみる:Java Dom解析、Java Sax解析.
2,ここで書くとdom 4 jを利用した解析方法は、実は同じですが、dom 4 jの方法名は、属性名が使いやすいと思います.
a,XMLファイルを読む(以下はSAX解析方式に基づく):
public static void main(String[] args) throws Exception{
// SAX
SAXReader reader = new SAXReader();
// XML
Document document = reader.read(new File("db-config.xml"));
//
Element rootElement = document.getRootElement();
System.out.println(" :" + rootElement.getName());
// driver
Element driverElement = rootElement.element("driver");
String driver = driverElement.getText();
System.out.println(driver);
// url
String url = rootElement.elementText("url");
System.out.println(url);
// user
String user = rootElement.elementText("user");
System.out.println(user);
// password
String password = rootElement.elementText("password");
System.out.println(password);
}
b、ファイルを書くのは、上から下へ、私たちdom 4 jのDOM解析の方法です.
public static void main(String[] args) throws Exception{
//
Document document = DocumentHelper.createDocument();
//
Element stuInfoElement = document.addElement(" ");
Element stuElement1 = stuInfoElement.addElement(" ");
stuElement1.addAttribute("id", "110");
Element nameElement1 = stuElement1.addElement(" ");
nameElement1.setText(" ");
Element stuElement2 = stuInfoElement.addElement(" ");
stuElement2.addAttribute("id", "120");
Element nameElement2 = stuElement2.addElement(" ");
nameElement2.setText(" ");
//
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GB18030");
//
XMLWriter xmlWriter = new XMLWriter(new FileWriter("students.xml"),format);
xmlWriter.write(document);
xmlWriter.close();
}
最後に書いた書類:
>
>
>
>
>
以上、XML解析の简単な総括のために、もちろん実际には非常に复雑なXMLファイルに出会うことができて、私达は自分でこれらの解析彼らのファイルを书いてみることができて、もちろん人が书いたものを使うことができて、ここはただ多く学ぶためで、それらの本质を理解します.
本文で述べたことが皆さんのJSPプログラム設計に役立つことを願っています.