有這樣一段代碼:
???????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;??
????????}
?}
注意其中標紅的這句代碼,為什么要加這個判斷?我在調(diào)試過程中發(fā)現(xiàn)這段代碼確實有用,但為什么有時一樣的node結(jié)構(gòu),為什么有時能檢測到非ELEMENT_NODE type 的節(jié)點,有時卻是直接跳過呢?
??????詢問一些同事說,在xml結(jié)構(gòu)中如果存在非法的空格,xml解析器也會把它解析成一個node,但nodetype不是element而已,是這樣嗎,是不是還有其他的原因?
???????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;??
????????}
?}
注意其中標紅的這句代碼,為什么要加這個判斷?我在調(diào)試過程中發(fā)現(xiàn)這段代碼確實有用,但為什么有時一樣的node結(jié)構(gòu),為什么有時能檢測到非ELEMENT_NODE type 的節(jié)點,有時卻是直接跳過呢?
??????詢問一些同事說,在xml結(jié)構(gòu)中如果存在非法的空格,xml解析器也會把它解析成一個node,但nodetype不是element而已,是這樣嗎,是不是還有其他的原因?