当前位置: 技术问答>java相关
初学者的问题:xml的文件数据读取问题。谢谢!
来源: 互联网 发布时间:2017-04-14
本文导语: ——MyTemp.xml JSP技术内幕 //1、解析xml文档,得到document对象 DocumentBuilderFactory myFactory=DocumentBuilderFactory.newInstance(); DocumentBuilder myBuilder=myFactory.newDocumentBuilder(); Document myDoc=myBuilder.parse("MyTemp.xml")...
——MyTemp.xml
JSP技术内幕
//1、解析xml文档,得到document对象
DocumentBuilderFactory myFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder myBuilder=myFactory.newDocumentBuilder();
Document myDoc=myBuilder.parse("MyTemp.xml");
myDoc.normalize();
//2、输出document对象的内容
NodeList links=myDoc.getElementsByTagName("link");
Element link=(Element)links.item(0);
System.out.println(link.getElementsByTagName("text").item(0).getFirstChild().getNodeValue());
上面的代码得到如下输出:JSP技术内幕
我不明白的是,为什么要搞得如此复杂?直接
System.out.println(link.getElementsByTagName("text").getNodeValue());
为什么不行?
——link.getElementsByTagName("text");
——link.getElementsByTagName("text").item(0);
——link.getElementsByTagName("text").getFirstChild();
分别得到什么东西?
|
link.getElementsByTagName("text")返回的是一个NodeList对象(也就是多个名称都为text的节点,虽然你的xml实例文件中只有一个)。
所以必须通过item(i)来使用其中的每个节点。link.getElementsByTagName("text").item(0)就是第一个名称为"text"的节点。
getFirstChild()返回的是"text"节点的第一个字节点,也就是“JSP技术内幕”这个字符串节点。
that's all.....
去看看DOM API的文档就清楚了。
所以必须通过item(i)来使用其中的每个节点。link.getElementsByTagName("text").item(0)就是第一个名称为"text"的节点。
getFirstChild()返回的是"text"节点的第一个字节点,也就是“JSP技术内幕”这个字符串节点。
that's all.....
去看看DOM API的文档就清楚了。