DOM 4 J-(XML解析パッケージ)
13713 ワード
DOM 4 J-概要
dom 4 jです.org出品のオープンソースXML解析パッケージです.Dom 4 jは、XML、XPath、XSLTに使用される使いやすいオープンソースのライブラリです.Javaプラットフォームに適用され、Java集合フレームワークを採用し、DOM、SAX、JAXPを完全にサポートしています.
DOM 4 Jはとても使いやすいです.基本的なXML-DOMモデルを知っていれば、使えます.
Dom:ドキュメント全体をオブジェクトとして使用します.
DOM 4 Jインタフェース定義
主なインタフェースはorgですdom 4 jで定義
Attribute
XML属性が定義されています
Branch
サブノードのみを含むことができるノード.XML要素(Element)やドキュメント(Document)など、共通の動作を定義します.
CDATA
XML CDATA領域の定義
CharacterData
は、文字ベースのノードを識別する識別インタフェースです.例えばCDATA,Comment,Text
Comment
XMLコメントの動作を定義
Document
XMLドキュメントの定義
DocumentType
XML DOCTYPE宣言の定義
Element
XML要素の定義
ElementHandler
Elementオブジェクトを定義したプロセッサ
ElementPath
現在処理中のパス階層情報を取得するためにElementHandlerによって使用される
Entity
XML entityの定義
Node
dom 4 j内のすべてのXMLノードのマルチステート動作を定義します.
NodeFilter
dom 4 jノードで生成されるフィルタまたは述語の動作(predicate)を定義します.
ProcessingInstruction
XML処理命令の定義
Text
XMLテキストノードの定義
Visitor
Visitorモードの実装
XPath
文字列を解析するとXPath式が表示されます
インタフェース間の継承関係は次のとおりです.
● interface java.lang.Cloneable
● interface org.dom4j.Node
● interface org.dom4j.Attribute
● interface org.dom4j.
● interface org.dom4j.Document
● interface org.dom4j.Element
● interface org.dom4j.CharacterData
● interface org.dom4j.CDATA
● interface org.dom4j.Comment
● interface org.dom4j.Text
● interface org.dom4j.DocumentType
● interface org.dom4j.Entity
● interface org.dom4j.ProcessingInstruction
基本的な使用方法:
Element:XML要素の定義
Attribute:XMLのプロパティが定義されています
DOM 4 J-XMLドキュメントアクション
XMLファイルの読み込み:XMLドキュメントの読み書きは主にorgに依存する.dom4j.ioパッケージは、DOMReaderとSAXReaderの2つの方法があります.同じインタフェースが利用されているため、呼び出し方法は同じです.
SAXReader reader = new SAXReader();
Document document = reader.read(new File("input.xml"));
XMLファイルの作成:DocumentHelperを使用して新しいdocumentを作成し、documentの下にroot要素を追加し、root要素の下にさまざまなノードを作成できます.
Document document = DocumentHelper.createDocument();
Element root = document.addElement("members");//ルートノードの作成
出力Documentをフォーマットし、OutputFormat付きXML Writerを作成することでDocumentのフォーマット出力を実現
XMLファイルの中国語の文字化けしの問題を書き込みます:http://blog.sina.com.cn/s/blog_757b0e130101dqrx.html
DocumentからStringへ
dom 4 jです.org出品のオープンソースXML解析パッケージです.Dom 4 jは、XML、XPath、XSLTに使用される使いやすいオープンソースのライブラリです.Javaプラットフォームに適用され、Java集合フレームワークを採用し、DOM、SAX、JAXPを完全にサポートしています.
DOM 4 Jはとても使いやすいです.基本的なXML-DOMモデルを知っていれば、使えます.
Dom:ドキュメント全体をオブジェクトとして使用します.
[ DOM4J - jar | JAXEN( XPath )]
DOM 4 Jインタフェース定義
主なインタフェースはorgですdom 4 jで定義
Attribute
XML属性が定義されています
Branch
サブノードのみを含むことができるノード.XML要素(Element)やドキュメント(Document)など、共通の動作を定義します.
CDATA
XML CDATA領域の定義
CharacterData
は、文字ベースのノードを識別する識別インタフェースです.例えばCDATA,Comment,Text
Comment
XMLコメントの動作を定義
Document
XMLドキュメントの定義
DocumentType
XML DOCTYPE宣言の定義
Element
XML要素の定義
ElementHandler
Elementオブジェクトを定義したプロセッサ
ElementPath
現在処理中のパス階層情報を取得するためにElementHandlerによって使用される
Entity
XML entityの定義
Node
dom 4 j内のすべてのXMLノードのマルチステート動作を定義します.
NodeFilter
dom 4 jノードで生成されるフィルタまたは述語の動作(predicate)を定義します.
ProcessingInstruction
XML処理命令の定義
Text
XMLテキストノードの定義
Visitor
Visitorモードの実装
XPath
文字列を解析するとXPath式が表示されます
インタフェース間の継承関係は次のとおりです.
● interface java.lang.Cloneable
● interface org.dom4j.Node
● interface org.dom4j.Attribute
● interface org.dom4j.
● interface org.dom4j.Document
● interface org.dom4j.Element
● interface org.dom4j.CharacterData
● interface org.dom4j.CDATA
● interface org.dom4j.Comment
● interface org.dom4j.Text
● interface org.dom4j.DocumentType
● interface org.dom4j.Entity
● interface org.dom4j.ProcessingInstruction
基本的な使用方法:
// XML : ASXReader reader xml , Document :
SAXReader reader = new SAXReader();
Document document = reader.read("xml ");
//
Element root = document.getRootElement();
//
Element son_element = element.element("name");
//
List elelist = element.elements();//
List son_elelist = element.elements(“name”);//
//
element.attributeValue("name");
//
element.getText();
Element:XML要素の定義
//
Iterator elementIterator();//
Iterator elementIterator("name");//
Attribute:XMLのプロパティが定義されています
getName();//
setName();//
getValue();//
setValue();//
getDocument();
setDocument();
DOM 4 J-XMLドキュメントアクション
XMLファイルの読み込み:XMLドキュメントの読み書きは主にorgに依存する.dom4j.ioパッケージは、DOMReaderとSAXReaderの2つの方法があります.同じインタフェースが利用されているため、呼び出し方法は同じです.
SAXReader reader = new SAXReader();
Document document = reader.read(new File("input.xml"));
1 // XML , document
2 SAXReader reader = new SAXReader();
3 Document doucument = reader.read("src/NewFile.xml");
4 //
5 Element root = doucument.getRootElement();
6 // System.out.println(e.getName());//
7
8 // xml ,elementIterator() Element
9 for (Iterator it = root.elementIterator(); it.hasNext();) {
10
11 Element ele = it.next();
12 System.out.println(ele.getName());
13 if (ele.getName().equals("good")) {
14 Element name = ele.element("name");
15 if (name != null)
16 System.out.println(" -" + name.getText());
17 }
18 // Attribute ,
19 for (Iterator i = ele.attributeIterator(); i.hasNext();) {
20 Attribute a = i.next();
21 System.out.println(" " + a.getName() + ":" + a.getText());
22
23 }
24 }
XMLファイルの作成:DocumentHelperを使用して新しいdocumentを作成し、documentの下にroot要素を追加し、root要素の下にさまざまなノードを作成できます.
Document document = DocumentHelper.createDocument();
Element root = document.addElement("members");//ルートノードの作成
1 // document , xml
2 Document newDocument = DocumentHelper.createDocument();
3 //
4 Element newRoot = newDocument.addElement("root");
5 newRoot.addComment("This is a test for dom4j ");//
6 // authro1
7 Element authro1 = newRoot.addElement("authro");
8 //
9 authro1.addAttribute("name", "James");
10 authro1.addAttribute("location", "UK");
11 //
12 authro1.addText("James Strachan");
13 // authro2
14 Element authro1 = newRoot.addElement("authro");
15 //
16 authro1.addAttribute("name", "James");
17 authro1.addAttribute("location", "UK");
18 //
19 authro1.addText("James Strachan");
20 try {
21 XMLWriter writer = new XMLWriter(new FileOutputStream("[ /]filename"));
22 // Document xml
23 writer.write(newDocument);
24 } catch (Exception e) {
25 e.printStackTrace();
26 } finally {
27 writer.close();//
28 }
出力Documentをフォーマットし、OutputFormat付きXML Writerを作成することでDocumentのフォーマット出力を実現
1 //
2 OutputFormat format = OutputFormat.createPrettyPrint();
3 XMLWriter writer = new XMLWriter(new FileWriter("[path]filename"), format);
4 writer.write(document);// Document xml
5 writer.close();//
6 //
7 OutputFormat format = OutputFormat.createCompactFormat();
8 XMLWriter writer = new XMLWriter(new FileWriter("[path]filename"), format);
9 writer.write(document);// Document xml
10 writer.close();//
XMLファイルの中国語の文字化けしの問題を書き込みます:http://blog.sina.com.cn/s/blog_757b0e130101dqrx.html
DocumentからStringへ
String xmlText = document.asXML();