<pets>
<dogs>
<dog id="1">
<name>YAYA</name>
<health>100</health>
<love>0</love>
<strain>酷酷的雪娜瑞</strain>
要显示的文本
</dog>
<dog id="2">
<name>MEIMEI</name>
<health>95</health>
<love>10</love>
<strain>泰迪</strain>
</dog>
</dogs>
<penguins>
<penguin id="1">
<name>QQ</name>
<health>100</health>
<love>20</love>
<sex>Q仔</sex>
</penguin>
</penguins>
</pets>
代码如上,假如 node 是<dog id="1"> 的子节点<name>的节点对象 node.getNodeName()的值为name 我要获取<name>标签中的YAYA文本 为什么还要访问到该节点的子节点获取(node.getFirstChild().getNodeValue())才能获取?<name>节点不已经是最后的节点了么?
那如果我要获取<dog id="1"> 中的那个 “要显示的文本” 该怎么做?javaxml
Element root = Dom4jHelper.getRootElement(doc);
Node dogNode = root.selectSingleNode("dogs/dog[@id='1']");
Element dogElement = (Element)dogNode;
List lst = dogElement.content();
for (int i=0;i<lst.size(); i++) {
if (lst.get(i) instanceof Text) {
Text ele = (Text)lst.get(i);
System.out.println("i:" + i + ",text:" + ele.getText());
}
}
}
public static void main(String[] args) throws DocumentException {
Document doc = Dom4jHelper.readFile("src/main/java/zglv/demo/xml/pets.xml");
new HandlerPets().obtainText(doc);
}