課程
/后端開發
/Java
/Java眼中的XML---文件讀取
value不是獲取節點值嗎,但是xml文件中的換行空格不也是算作節點值嗎,這樣一開始傳遞給book對象的seiName()里的value不是一個空的值嗎?????
2016-02-23
源自:Java眼中的XML---文件讀取 3-4
正在回答
我記得昨晚回答了,怎么今天沒有了。
首先你要明白,handler的執行順序,先是開始節點,startElement,然后Characters,然后在結束,再Characters方法代碼塊里,已經將value值賦值了,就是那句value=new String(ch, start, length); 這一句就賦與了相對應的Element的值,也就是說qName等于name時,其實已經自動傳入對應的start,length進去了,因為ch是數組嘛。
所以在endElement處進行判斷如果qName.equals("name"),就 book.setName(value);為什么要判斷呢,因為xml的換行空格算子節點,那么這些節點名字肯定不是name。
所以整體的一個機制:你可以理解成handler類似一種帶處理功能的指針,遍歷xml文件時,從開頭讀到結尾是一個一個節點開始。而里面相應的變量的值在變化,變化的順序startElement,然后Characters,然后在endElement。
舉報
通過Java認識并且創造XML文件,如何應用 Java“解析 XML
4 回答講的不夠深入啊
2 回答老師所講的endElements() , endDocuments() , 以及 charXX()方法的疑問。
2 回答老師講課的ppt在什么地方可以下載到呢
1 回答DOM4J念錯了吧
3 回答parser.parse();方法始終不對。。
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-02-24
我記得昨晚回答了,怎么今天沒有了。
首先你要明白,handler的執行順序,先是開始節點,startElement,然后Characters,然后在結束,再Characters方法代碼塊里,已經將value值賦值了,就是那句value=new String(ch, start, length); 這一句就賦與了相對應的Element的值,也就是說qName等于name時,其實已經自動傳入對應的start,length進去了,因為ch是數組嘛。
所以在endElement處進行判斷如果qName.equals("name"),就 book.setName(value);為什么要判斷呢,因為xml的換行空格算子節點,那么這些節點名字肯定不是name。
所以整體的一個機制:你可以理解成handler類似一種帶處理功能的指針,遍歷xml文件時,從開頭讀到結尾是一個一個節點開始。而里面相應的變量的值在變化,變化的順序startElement,然后Characters,然后在endElement。