首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

这个XML读取为何有有关问题

2013-08-16 
这个XML读取为何有问题 ??xml version1.0 encodingUTF-8?StudentssbanjiidQQname张三

这个XML读取为何有问题 ?

<?xml version="1.0" encoding="UTF-8"?>

<Student>
<ss>
<banji  id="QQ">
<name>张三</name>
<Sex>男</Sex>
</banji>
<banji  id="QQ">
<name>张三</name>
<Sex>男</Sex>
</banji>
<banji  id="QQ">
<name>张三</name>
<Sex>男</Sex>
</banji>
</ss>
</Student>



import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;


import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;


public class Test {
public static void main(String[] args) {
DocumentBuilderFactory doc=DocumentBuilderFactory.newInstance();//创建一个工厂实例
DocumentBuilder db;
try {
db = doc.newDocumentBuilder();//创建解析器
Document dt=db.parse("xml.xml");//得到一个文档对象
NodeList node=dt.getElementsByTagName("ss");这里我改成banji和去掉node.item(i).getFirstChild();的 .getFirstChild()能打印出QQ  但是我现在这种写法不对嘛?  另外问大家一个什么叫节点 什么叫元素 请大家举例说明 总共两个问题 谢谢各位大牛

for(int i=0;i<node.getLength();i++){
Node n=node.item(i).getFirstChild();
Element e=(Element)(n);
System.out.println(e.getAttribute("id"));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}



[解决办法]
Node n=node.item(i).getFirstChild().getNextSibling();

改成这样试试
[解决办法]
DOM API的陷阱。
DOM树包含了被称为“不可忽略的空白”的文本节点,它是标签之间的空白(如回车符)。

热点排行