这个问题常常令初次接触JAXP的人迷惑:
在JAXP规范里,内容和属性和元素一样都通称 “节点”(Node)如果你只需要取标签元素(Node.ELEMENT_NODE),应该用nodeType加以判断:下面是示例代码:InputStream is = ...
DocumentBuilder db = ...
Document doc = db.parse(is);
Element e1 = doc.getDocumentElement();
NodeList nl = e1.getChildNodes();for (int i = 0; i < nl.getLength(); i++) {
Node n = nl.item(i); //取得所有子节点
//
if (n.getNodeType() == Node.ELEMENT_NODE) {
Element e2 = (Element) n;
String title = e2.getAttribute("title");
String groupId = e2.getAttribute("group_id");
System.out.println(title);
System.out.println(groupId);
//....
// 可以在这里再继续处理下面的子元素
}
}
在JAXP规范里,内容和属性和元素一样都通称 “节点”(Node)如果你只需要取标签元素(Node.ELEMENT_NODE),应该用nodeType加以判断:下面是示例代码:InputStream is = ...
DocumentBuilder db = ...
Document doc = db.parse(is);
Element e1 = doc.getDocumentElement();
NodeList nl = e1.getChildNodes();for (int i = 0; i < nl.getLength(); i++) {
Node n = nl.item(i); //取得所有子节点
//
if (n.getNodeType() == Node.ELEMENT_NODE) {
Element e2 = (Element) n;
String title = e2.getAttribute("title");
String groupId = e2.getAttribute("group_id");
System.out.println(title);
System.out.println(groupId);
//....
// 可以在这里再继续处理下面的子元素
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货