Dom解析Xml文件根节点问题

J2EE 码拜 9年前 (2015-04-07) 1092次浏览 0个评论
 

为什么在遍历根节点的子节点时,会在前面加#text,但是我在Xml文件里些的子节点只有name,id,data.求Help

Dom解析Xml文件根节点问题

Dom.xml代码如下:

<?xml version=”1.0″ encoding=”UTF-8″?>
<person catagory=”java”>
<name>zhangsan</name>
<id>444</id>
<data>19951115</data>
</person>

Dom.java代码如下:

import java.io.File;

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 Dom {
public static void main(String[] args) {
File f=new File(“G:\Dom.xml”);
DocumentBuilder db=null;
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
try{
db=dbf.newDocumentBuilder();
Document document=db.parse(f);
Element element=document.getDocumentElement();
System.out.println(“跟元素为”+element.getNodeName());
NodeList nl=element.getChildNodes();
System.out.println(nl.getLength());
for(int i=0;i<nl.getLength();i++){
Node node=nl.item(i);
System.out.println(node.getNodeName());
if(node.getNodeName().equals(“person”)){
System.out.println(“11″+node.getAttributes().getNamedItem(“catagory”).getNodeValue());
}

NodeList nl1=node.getChildNodes();

for(int i1=0;i1<nl1.getLength();i1++){
Node nodeDetail=nl1.item(i1);
if(“name”.equals(nodeDetail.getNodeName())){
System.out.println(“名字为:”+nodeDetail.getTextContent());
}else if(“id”.equals(nodeDetail.getNodeName())){
System.out.println(“id为:”+nodeDetail.getTextContent());
}else if(“data”.equals(nodeDetail.getNodeName())){
System.out.println(“生日为:”+nodeDetail.getTextContent());
}
}
}
}catch (Exception e){
e.printStackTrace();
}
}

}

Dom解析Xml文件根节点问题
20分
http://zhidao.baidu.com/link?url=mRe3DoeQGCDOFuZXyf9VBLPzfuatHQik3Vh69s9Ai3AOdTuiW_EO1mMQzYIIUsG-6DsG4_kfYurzuIQrS7k7Ae7waaKEql1tTmhfDsu5OJm
Dom解析Xml文件根节点问题
10分
dom解析会自带个元素
Dom解析Xml文件根节点问题
可以试试SAX 如果数据不是超大
Dom解析Xml文件根节点问题
因为中间有看空格,排版紧凑就好了,当然你全部遍历出来也没有用

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Dom解析Xml文件根节点问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!