Posted on 2006-11-24 12:41
兵臨城下 閱讀(417)
評論(5) 編輯 收藏 所屬分類:
J2SE
有這樣一段代碼:
???????public static Node findNode(Node node, String name)
?{
?????????NodeList list = node.getChildNodes();
?????????int size = list.getLength();
?????????for (int i = 0; i < size; i++)
?????????{
?????????????Node node = list.item(i);
?????????????if(node.getNodeType()!=Node.ELEMENT_NODE)?
???????????????????continue;?
?????????????if (node.getNodeName().equals(name))
??????????????????return node;??
????????}
?}
注意其中標紅的這句代碼,為什么要加這個判斷?我在調試過程中發現這段代碼確實有用,但為什么有時一樣的node結構,為什么有時能檢測到非ELEMENT_NODE type 的節點,有時卻是直接跳過呢?
??????詢問一些同事說,在xml結構中如果存在非法的空格,xml解析器也會把它解析成一個node,但nodetype不是element而已,是這樣嗎,是不是還有其他的原因?