import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.*;
import org.w3c.dom.*;
public class Test {
/**
* 读取XML文件数据
* @param args
*/
public static void main(String[] args) {
try{
//1.创建解析工厂对象
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
dbf.isValidating();
//2.创建解析
DocumentBuilder db=dbf.newDocumentBuilder();
Document doc=db.parse("Pet.xml");
NodeList doglist=doc.getElementsByTagName("dog");//将3个dog的节点全部保存到NodeList
System.out.println(doglist.getLength());
System.out.println("姓名\t亲密度\t健康值\t类型");
for (int i = 0; i < doglist.getLength(); i++) {
//获取第i个狗的元素
Node dog=doglist.item(i);
//获取第i个狗的信息
for(Node node=dog.getFirstChild();node!=null;node=node.getNextSibling())
{
System.out.println(node.getNodeName()+","+node.getNodeType());
if(node.getNodeType()==Node.ELEMENT_NODE)
{
String value=node.getFirstChild().getNodeValue();
System.out.print(value+"\t");
}
}
System.out.println();
}
}
catch(Exception ex)
{
System.out.println("创建失败!");
}
}
}
美美
90
80
拉不拉多
多多
90
80
雪纳瑞
烧烧
90
60
哈士奇
奇奇
90
60
Q女
为什么输出的node.getNodeName()和node.getNodeType()
有#text 1 这样的