-
DOM解析會將整個XML文件加載到內存中再逐個解析查看全部
-
常用的節點類型查看全部
-
解析目的查看全部
-
1.創建DocumentBuilderFactory對象 2.創建DocumentBuilder對象 3.通過DocumentBuilder對象的parse()方法加載xml文件查看全部
-
DOM解析xml文件是:平臺無關的官方解析方式 SAX解析xml文件是:基于事件驅動的解析方式查看全部
-
三種節點類型。查看全部
-
document.getElementsByTagName("");查看全部
-
JUnit是Java提供的一種進行單元測試的自動化工具。測試方法可以寫在任意類中的任意位置。使用JUnit可以沒有main()入口進行測試。 DOM4J在靈活性和對復雜xml的支持上都要強于DOM DOM4J的應用范圍非常的廣,例如在三大框架的Hibernate中是使用DOM4J的方式解析文件的。 DOM是w3c組織提供的一個官方解析方式,在一定程度上是有所應用的。 當XML文件比較大的時候,會發現DOM4J比較好用 1.JUnit:Java提供的單元測試;@Test注解;采用JUnit不需要程序入口main方法 2.性能測試結果:幾kB的xml文件;建議使用DOM4J解析 DOM-33ms SAX-6ms JDOM-69ms DOM4J-45ms 工程右鍵build path --Add library--JUnit單元測試 --version:JUnit4 DOM:33,SAX:6 JDOM:69;DOM4J:45 DOM 有可能溢出 多使用DOM4J查看全部
-
基礎方法:DOM(平臺無關的官方解析方式)、SAX(基于事件驅動的解析方式) 擴展方法:JDOM、DOM4J(在基礎的方法上擴展出的,只有在java中能夠使用的解析方法) DOM:一次性將整個xml文件加載到內存中,形成DOM樹 優點:形成了樹結構,直觀好理解,代碼更容易編寫 解析過程中樹結構保留在內存中,方便修改 缺點:當xml文件較大時,對內存消耗比較大,容易影響解析性能并造成內存溢出 SAX:逐條語句判斷解析 優點:采用事件驅動模式,對內存消耗比較小 適用于只需要處理xml中數據時 缺點:不易編碼 很難同時訪問同一個xml中的多處不同數據 JDOM:僅使用具體類而不使用接口 API大量使用了Collections類 DOM4J:JDOM的一種智能分支,它合并了許多超出基本XML文檔表示的功能 DOM4J使用接口和抽象基本類方法,是一個優秀的Java XML API 具有性能優異、靈活性好、功能強大和極端易使用的特點 是一個開放源代碼的軟件查看全部
-
DOM4J 解析 xml 文件 1、創建一個 SAXReader 對象 SAXReader saxReader = new SAXReader(); 2、將 xml 文件加載到 SAXReader 中,并獲取 document 對象 Document document = saxReader.read(fileName); 3、通過 getRootElement() 獲取根節點元素 Element employeeRoot = document.getRootElement(); 4、通過 elementIterator() 獲取子節點元素,返回 Iterator 返回迭代器 Iterator eles = eleRoot.elementIterator(); 5、通過 while 遍歷迭代器 while(eles.hasNest()){ Element ele = (Element)eles.next();} 6、獲取屬性節點類似 JDOM 解析 List<Attribute> attrs = ele.attributes(); 7、獲取元素節點名、值 ele.getName() ele.getStringValue()/ele.getText() 8、獲取屬性節點名、值 ele.getName() ele.geValue()查看全部
-
DOM4J 解析 xml 文件 1、創建一個 SAXReader 對象 SAXReader saxReader = new SAXReader(); 2、通過SAXReader對象的read方法加載books.xml文件,獲取docuemnt對象 Document document = saxReader.read(fileName); 3、通過 getRootElement() 獲取根節點bookstore Element bookstore = document.getRootElement(); 4、通過 elementIterator() 獲取book的迭代器 Iterator it = bookstore.elementIterator(); 5、遍歷迭代器,獲取根節點中的信息(書籍) while(it.hasNext()){ //獲取子節點的元素 Element book = (Element)it.next();} 6、獲取屬性節點類似 JDOM 解析 List<Attribute> attrs = book.attributes(); 7、遍歷,獲取屬性節點名、值 book.getName() book.geValue() 8、獲取book子節點的迭代器 Iterator itt = book.elementIterator(); 8、遍歷,獲取元素節點名、值 book.getName() book.getStringValue()/book.getText()查看全部
-
在JDOM中存儲對象 1.創建一個新的book類并將其實例化 Book bookEntity = new Book(); 2.添加節點屬性值到book if(attrName.equals("id")){ personEntity.setId(attrValue); } 3.添加子節點屬性值到book if (child.getName().equals("name")) { bookEntity.setName(child.getValue()); } 4.存儲對象的值 用數據組List ArrayList查看全部
-
導入jar包的兩種方式: 1.通過右鍵項目,選擇build Path下的Add External Archives導入系統任意路徑下的jar包。但是這種方式并沒有將jar包真正導入項目中,一旦遷移,則會丟失 2.通過右鍵項目,新建lib文件夾,直接將jar包拷貝到lib文件夾下,然后再通過build Path將jar包導入進來查看全部
-
JDOM解析亂碼處理 1.修改xml第一行的encoding屬性 2.在代碼中處理,應用IO流知識 //創建輸入流,將XML文件加載到輸入流中 InputStream in = new FileInputStream("src/book.xml"); //使用包裝流InputStreamReader進行讀取編碼的指定 InputStreamReader isr = new InputStreamReader(in,"UTF-8");查看全部
-
DOM 解析 獲取節點名、值:getNodeName() getNodeValue() getTextContent() 獲取子節點:getChildNodes() 返回 NodeList 獲取屬性節點:getAttributes() 返回 NamedNodeMap JDOM 解析 獲取節點名、值:getName() getValue() 獲取子節點:getChildren() 返回 List<Element> 獲取屬性節點:getAttributes() 返回 List<Attribute>查看全部
舉報
0/150
提交
取消