1. 程式人生 > >SAXBuilder的介紹和使用細節

SAXBuilder的介紹和使用細節

依賴包:org.jdom2.input
SAXBuilder類
java.lang.Object繼承
org.jdom2.input.SAXBuilder
所有已實現的介面:
SAXEngine

**

SAXbuilder是什麼呢?

**
SAXBuilder是一個JDOM解析器 能將路徑中的XML檔案解析為Document物件

SAXbuilder使用第三方SAX解析器(預設情況下由JAXP選擇,或者您可以手動配置)來處理解析任務,並使用SAXHandler的例項來偵聽SAX事件,以便使用JDOM內容構造文件一個JDOMFactory。

已知的問題:

一個DocType或EntityRef可以由SAX解析器轉換為絕對路徑的相對路徑。
SAX不識別根元素之外的空白字元內容(JDOM也不會),因此根元素之外的任何格式都將丟失。

public SAXBuilder(XMLReaderJDOMFactory readersouce)
使用指定的XMLReaderJDOMFactory建立新的SAXBuilder。
引數:
readersouce- XMLReaderJDOMFactory提供XMLReaders的。如果該值為null。

指定解析器:
SAXBuilder builder=new SAXBuilder(false); //使用的是預設的解析器

得到Document,我們以後要進行的所有操作都是對這個Document操作的:
Reader returnQuote = new StringReader(rexml);
Document doc = builder.build(returnQuote);
得到根元素:


Element books=doc.getRootElement();
在JDOM中所有的節點(DOM中的概念)都是一個org.jdom.Element 類,當然他的子節點也是一個org.jdom.Element類。
得到節點的集合:
List booklist=books.getChildren(“book”);
這表示得到“books”元素的所在名稱為“book”的元素,並把這些元素都放到一個List集合中
得到單個元素Element segment= books.getChild(“Segment”);
迴圈List集合
for (Iterator iter = booklist.iterator(); iter.hasNext()