xml_dom4j

1. dom4jの解決ファイル

Xml3パッケージ; 

インポートはjava.io.File; 
インポートするjava.util.Iterator; 

インポートorg.dom4j.Attribute; 
インポートorg.dom4j.Document; 
インポートorg.dom4j.DocumentException; 
インポートorg.dom4j.Element; 
インポートorg.dom4j。 io.SAXReader; 


/ * 
 *方法readDocumentByIterator()分析法xmlファイルの提供
 (各要素によって*のてElementIteratorを)しててAttributeIterator取得
 *イテレータそのサブ要素と属性
 * / 
publicクラスDom4jTest2 { 
	プライベートファイルのファイルを、
	公共Dom4jTest2 (ファイルファイル){ 
		this.file =ファイル; 
	} 
	パブリック静的無効メイン(文字列[] args){ 
		Dom4jTest2新しい新しいDom4jTest2テスト=(
				新しい新ファイル( "SRC / COM / briup / XML / chap02 / student.xml"));
		test.readDocumentByIterator(); 
		//将XML转换成文字列类型
		SAXReaderリーダー=新しいSAXReader(); 
		試す{ 
			文書ドキュメント= reader.read 
					(新しいファイル( "SRC / COM / briup / XML / chap02 / student.xml")); 
			ストリングdocXmlText = document.asXML()。
			System.out.println(docXmlText)。
			System.out.println( "------------- docXmlText ----------"); 
			素子ルート= document.getRootElement()。
			ストリングrootXmlText = root.asXML()。
			System.out.println(rootXmlText)。
			System.out.println( "------------- rootXmlText ----------"); 
			要素の息子= root.element( "学生"); 
			ストリングsonXmlText = son.asXML()。
			System.out.println(sonXmlText)。
			System.out.println( "------------- sonXmlText -----------"); 
		}キャッチ(例外e){ 
			E。
		} 
	} 
	公共のgetDocumentドキュメント(){ 
		SAXReader新しい新しいSAXReaderリーダー=(); 
		文書ドキュメント= NULL; 
		試み{ 
			ドキュメントreader.Readは=(ファイル); 
		}キャッチ(DocumentException E){ 
			e.printStackTrace(); 
		} 
		戻りドキュメント; 
	} 
	/ * 
	 *このメソッドの2つだけ列挙し、読み出しが要求された場合、反復ループ
	 * / 
	公共ボイドreadDocumentByIterator(){ 
		要素のgetDocumentルート=()getRootElement();. 
		//ルートノードのすべての子ノード列挙する 
		(イテレータすなわち= root.elementIterator()のために 、ie.hasNextを() ;){ 
			System.out.printlnは( "========"); 
			エレメントエレメント=(要素)ie.next();
			System.out.println(element.getName()); 
			//列挙プロパティ
			{(; ia.hasNext()IA = element.attributeIteratorイテレータ())のための
				属性属性=(属性)ia.next();
				System.out.println(Attribute.getName()
						+ "=" + attribute.getValue()); 
			} 
			//現在のノードのすべての子ノード列挙する
			(イテレータieson = element.elementIterator()のために 、ieson.hasNext() ;){ 
				要素ソン=(要素)ieson.next(); 
				のSystem.out.println(son.getName()
						+ "=" + son.getText()); 
			} 
		} 
	} 
}

1.2 XMLファイルを作成します

パッケージXml3; 

インポートのjava.io.File; 
輸入java.io.FileNotFoundException。
輸入java.io.FileOutputStreamは、
インポートにjava.io.OutputStream; 
輸入java.io.OutputStreamWriterが、
輸入org.dom4j.Document。
輸入org.dom4j.DocumentException。
輸入org.dom4j.DocumentHelper; 
輸入org.dom4j.Element。
輸入org.dom4j.io.OutputFormat。
輸入org.dom4j.io.XMLWriter。

パブリッククラスDom4jTest { 
	パブリック静的無効メイン(文字列[] args){ 
		Dom4jTestテスト=新しいDom4jTest()。
		文書DOC = test.generateDocument2()。
		ファイルファイル=新しいファイル( "SRC / COM / briup / XML / chap02 / student.xml"); 
		test.saveDocument(ドキュメント、ファイル); 
	}
	空SaveDocument関数パブリック(文書DOC、ファイルのファイル){ 
			//美化形式
		OUTPUTFORMAT = OutputFormat.createPrettyPrint形式(); 
		format.setEncoding(「UTF-8」); 
		試み{ 
			//出力文字ストリームxmlファイルに応じて、ファイルを指定されています
			たFileOutputStream新しい新しいOS =のOutputStream(ファイル)
			のOutputStreamWriterのOutputStreamWriter新しい新しいOSW =(OS)
			するXMLWriterするXMLWriterライター=新しい新しい(OSW、フォーマット); 
			//出力XML形式に応じて、文書の内容に応じ
			writer.Write(DOC); 
			writer.flush() ; 
		}キャッチ(例外E){ 
			e.printStackTrace(); 
		} 
	} 
	/ * 
	 * <学生> 
	 * <学生ID =」1' > 
	 * <名前> ... </名前> 
	 * ... 
	 * < /学生>
		文書を返します。
	}
	パブリックドキュメントgenerateDocument2(){ 
		文字列str = "<xmlのバージョン= '1.0'エンコード= 'UTF-8'?>" 
					+ "<学生> <! -これは一般的です- >" 
					+「<学生ID = '2'>」
					+ "<名前>ジャック</名前> <年齢> 20 </年齢>" 
					+ "</学生> </学生>"; 
		文書ドキュメント= NULL; 
		試す{ 
			文書= DocumentHelper.parseText(STR)。
		}キャッチ(DocumentException電子){ 
			e.printStackTrace(); 
		} 
		文書を返します。
	} 
}

  

おすすめ

転載: www.cnblogs.com/yue-170305/p/11470504.html