-
解析xml元素:<br> 1. 重寫DefalutHandler的實現類對象的startElement()方法<br> 2. 在startElement()方法中,先調用DefaultHanlder 的startElement()方法<br> 3. 已知節點的屬性名的情況下<br> if(qname.equals("book")){<br> String value = attributes.getValue("id");<br> }<br> 4.不知節點的屬性名的情況下<br> 獲取屬性長度<br> int length=attributes.getLength();<br> 獲取屬性名和屬性值 for(int i=0;i<length;i++){ System.out.print(attributes.getQname(index)+attributes.getValue(index)); }查看全部
-
通過book元素的getChildNodes()得到所有子節點的集合,需要注意的是,在DOM的讀取中,會將空格和回車看成是text節點類型,因此需要注意區分開。通過item(index)遍歷所有子節點,通過item(index)的getNodeName()方法還來獲取子節點的名字,而獲取它的屬性值時,要注意直接使用getNodeValue()得到的是標簽的值(一般是空)因此可以使用兩種方法: 1.使用item(index).getFirstNode().getNodeValue()來返回值 2.使用item(index).getTextContent()來返回屬性值 上面兩種方法的區別在于在一個標簽中是否包含的其他的子標簽,如果有的話,那么第1個方法就仍得到null,第二個方法會返會將自標簽的內容一起獲得。查看全部
-
常用的節點類型查看全部
-
獲取xml文件內容的<br> 四種解析方式:DOM SAX DOM4J JDOM<br> DOM、SAX :java 官方方式,不需要下載jar包<br> DOM4J、JDOM :第三方,需要網上下載jar包<br> DOM使用步驟:<br> 準備工作<br> 1、創建一個DocumentBuilderFactory的對象<br> DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();<br> 2、創建一個DocumentBuilder的對象<br> DocumentBuilder db = dbf.newDocumentBuilder();<br> 3、通過DocumentBuilder對象的parse方法加載xml文件到當前項目<br> Document document = db.parse("*.xml");查看全部
-
.xml文件是一個倒著的樹狀結構。 2.xml文件中,節點名稱區分大小寫。<??>里面放的是版本信息,編碼。 3.xml文件作用: 不同應用程序之間通信、傳輸信息(訂票程序和支付程序) 不同系統間的通信(例:Windows系統和IOS系統) 不同平臺間的數據共享(手機端和PC端) 不同APP之間的通信,不同的平臺間的通信,不同平臺間的數據共享。XML文件主要用于存儲以及傳輸信息。 通過xml文件存儲小型數據。 即使用相同的xml文件將不同的應用或服務聯系起來。查看全部
-
標記點2查看全部
-
標記點1查看全部
-
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查看全部
-
@·4種解析方式的分析 1.基礎方法 DOM (與平臺無關的官方解析); SAX (基于事件驅動的解析) 2.擴展方法 (在基礎方法上擴展的,只有在 java 中才能夠使用的解析方法) JDOM 、 DOM4J 3.DOM:一次性加載形成DOM樹;對內存性能要求較高 -優點:形成了樹結構,直觀好理解,代碼更容易編寫;解析過程中樹結構保留在內存中,方便修改; -缺點:當xml文件較大時,對內存消耗比較大,容易影響解析性能并造成內存溢出 4.SAX:事件驅動,對內存耗費較小;只關注數據 -優點:適用于只需要處理xml中數據; -缺點:不易編碼;很難同時訪問同一個xml中的多處不同數據 5.JDOM與DOM、DOM4J *JDOM: -僅使用具體類而不使用接口 -API大量使用了Collections類 *DOM4J -JDOM的一種智能分支,它合并了許多超出基本XML文檔表示的功能; -DOM4J使用接口和抽象基本類方法,是一個優秀的Java XML API; -具有性能優異、靈活性好、功能強大和極端易用使用的特點 -是一個開放源代碼的軟件查看全部
-
@·4種解析方式PK(整體)查看全部
-
JDOM 解析時亂碼的處理 兩種方法可以解決亂碼問題, 1:修改xml文件中的編碼格式, 2:在解析中使用inputstreamreader()指定編碼格式 // 2.創建一個輸入流,將xml文件加載到輸入流中 in = new FileInputStream("src/res/books.xml"); InputStreamReader isr = new InputStreamReader(in, "UTF-8"); // 3.通過saxBuilder的build方法,將輸入流加載到saxBuilder中 Document document = saxBuilder.build(isr); ... Ps:注意先看下xml文件encoding是否修改編碼方式后可以正常顯示,若還是亂碼,則考慮使用代碼的方式將其轉換。 處理中文亂碼步驟: 1)修改xml文件的編碼 2)將InputStream封裝為一個InputStreamReader,并在InputStreamReader的構造函數中指定正確的編碼,然后將InputStreamReader傳入到SAXBuilder中就可以處理中文亂碼了 利用代碼問題解決局部亂碼問題(需要利用InputStreamReader來解決) (1)InputStream in=new FIleStream("book.xml"); (2)InputStreamReader isr = new InputStreamReader(in, "utf-8"); (3)Document document = saxBuilder.build(isr);查看全部
-
標記點2查看全部
-
標記點1查看全部
-
xml書寫大致格式查看全部
-
節點類型查看全部
舉報
0/150
提交
取消