SAXBuilder的介紹和使用細節
阿新 • • 發佈:2018-12-31
依賴包: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()