-
DOM解析文件: NodeList bookList = document.getElementsByTagName("book");獲取節點book,返回NodeList類型,裝節點的list Node book = bookList.item(index);獲取book節點; NameNodeMap attrs = book.getAttributes();獲取book節點的所有屬性 Node attr = attrs.item(index);(獲取某個屬性) attr.getNodeName();(獲取屬性名) attr.getNodeValue();(獲取屬性值) 另外 Element也可。先強制類型轉換成Element再調用.getAttribute("id");(前提是已經知道book節點有且只有一個id屬性)查看全部
-
在Java程序中讀取XML文件的過程也成為解析XML文件 解析目的:獲取節點名、節點值、屬性名、屬性值 四種解析方式:DOM(Java官方提供)、SAX(Java官方提供)、DOM4J、JDOM DOM方式解析步驟: 1.創建一個DocumentBuilderFactory對象 2.創建一個DocumentBuilder對象 3.通過DocumentBuilder對象的parse(String fileName)方法解析XML文件;查看全部
-
子節點個數需要注意 ChildNodes.item(i).getFirstChild().getNOdeValue()和 ChildNodes.item(i).getTextContent()的區別 子節點中還包含其他子節點時,后者可以把子節點的值都顯示出來查看全部
-
xml文件是以樹形存儲的 <? xml version="1.0" encoding="UTF-8"?> 作用: 不同程序間進行通信 不同系統間 不同平臺間的通信查看全部
-
理解為什要在項目中創建一個lib文件夾把jar放入其中查看全部
-
老師。聲音好好聽啊查看全部
-
JAVA解析xml四種方式: DOM/SAX(官方) DOM4J/JDOM(額外下載x包) DOM方式準備步驟: 1.創建DocumentBuilderFactory對象 DocumentBuilderFactory dbf = DocumentBuilderFactory().newInstance(); 2.創建DocumentBuilder對象(通過DocumentBuilderFactory對象的newDocumentBuilderBuilder()方法來創建) DocumentBuilder db = dbf.newDocumentBuilderBuilder();(try catch) 3.通過parse()方法解析 Document db.parse("books.xml");(捕獲異常)(返回document類型,導入org.3.com包那個)查看全部
-
不同程序(app01、app02)、不同系統(Windows、IOS等)、不同平臺(手機端、PC端等)之間數據共享查看全部
-
DOM解析 DocumentBuilder Document查看全部
-
Node root = document.getDocumentElement();獲取根節點 NodeList childNodes = book.getChildNodes();獲取子節點 childNodes.item(k).getNodeType()==Node.ELEMENT_NODE;非空白文本節點 兩種方法: getFirstChild().getNodeValue();(獲取子節點再獲取值) getTextContent();(獲取content方法)查看全部
-
JUnit是Java提供的一種進行單元測試的自動化工具。測試方法可以寫在任意類中的任意位置。使用JUnit可以沒有main()入口進行測試。 DOM4J在靈活性和對復雜xml的支持上都要強于DOM DOM4J的應用范圍非常的廣,例如在三大框架的Hibernate中是使用DOM4J的方式解析文件的。 DOM是w3c組織提供的一個官方解析方式,在一定程度上是有所應用的。 當XML文件比較大的時候,會發現DOM4J比較好用 來自 <http://www.xianlaiwan.cn/video/4483> 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查看全部
-
四種解析方式對比: 1.基礎方法:DOM,SAX(不需要導入jar包,java提供的) DOM平臺無關的官方解析方式; SAX是java提供的基于事件驅動的解析方式 2.擴展方法:JDOM,DOM4J(在基礎方法上擴展出來的,只有java中能夠使用的解析方法 3.DOM:一次性加載形成DOM樹;對內存性能要求較高 優點:形成了樹結構,直觀好理解,代碼更容易編寫; 解析過程中樹結構保留在內存中,方便修改; 缺點:當xml文件較大時,對內存消耗比較大,容易影響解析性能并造成內存溢出 4.SAX:事件驅動,對內存耗費較小; 優點:適用于只需要處理xml中數據; 缺點:不易編碼;很難同時訪問同一個xml中的多處不同數據 JDOM與DOM、DOM4) JDOM 僅使用具體類而不使用接口 API大量使用了Collections類 DOM4) JOOM的一種智能分支,它合并了許多超出基本XML文檔表示 的功能 OOM4)使用接口和抽象基本類方法,是一個優秀的Jav。xMLAPI 具有性能優異、靈活性好、功能強大和極端易用使用的特點 是一個開放源代碼的軟件查看全部
-
解析子節點的信息 Iterator itt = book.elementIterator(); while(itt.hasNext()){ Element bookchild = (Element)itt.next(); bookchild.getName(); bookchild.getStringValue(); }查看全部
-
導入XML文件 導入Jar包 ---------------------------------------DOM4J解析節點屬性--------------------------------------- //創建SAXReader的對象reader SAXReader reader = new SAXReader(); //通過reader的read加載person.xml文件 Document document = reader.read(new File("person.xml")); //通過document對象獲取根節點persons Element persons = document.getRootElement(); //通過element對象的elementIterator方法獲取迭代器 Iterator it = persons.getIterator(); //遍歷迭代器,獲取根節點中的信息(persons)適用于我們不知道節點的名稱時 while(it.hasNext()){ Element person = (Element)it.next(); //獲取person的屬性名和屬性值 List<Attribute> personAttrs = person.attributes(); //由于是List類型所以我們使用for each()循環進行遍歷 for(Attribute attr : personAttrs){ System.out.println("節點名:" + attr.getName() +?。?-節點值:" + attr.getValue()); } } ---------------------------注意代碼中import時導入的是dom4j下的--------------------------------查看全部
-
@XML文件讀取——(二)應用 DOM 方式解析 XML——解析屬性和屬性值 1、通過document.getElementByTagName("標簽名")獲得所有標簽名的節點,得到一個NodeList集合 2、通過NodeList.getLength()獲得集合長度,遍歷集合 3、Node node = NodeList.item(index)獲得里面的節點 4、通過NamedNodeMap attrs = node.getAttributes()獲取所有屬性集合 5、通過attrs.getLength()遍歷集合,Node attr = atrrs.item(index) 6、attr.getNodeName()獲得屬性名,attr.getNodeValue()獲取屬性值 一、解析XML文件 1、java讀取xml文件中的內容過程叫做解析xml文件 2、解析目的:獲取節點名、節點值、屬性名、屬性值 3、四種解析方式:DOM、SAX、DOM4J、JDOM,前面兩個為java官方提供,后面兩個需要導入jar包查看全部
舉報
0/150
提交
取消