xml解析节点时,值全为null,哪位高手帮下忙,在线等
如题:
xml文件内容如下:
-------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE pets[<!ELEMENT pets (dog,penguin)><!ELEMENT dog (love,health,rehealth,addlove)><!ELEMENT penguin (love,health,rehealth,addlove)>]><pets> <dog> <love>0</love> <health>100</health> <rehealth>5</rehealth> <addlove>10</addlove> </dog> <penguin> <love>0</love> <health>100</health> <rehealth>10</rehealth> <addlove>15</addlove> </penguin></pets>
package cn.jbit.Test;import java.io.IOException;import javax.xml.parsers.*;import org.w3c.dom.*;import org.xml.sax.SAXException;public class Test { /** * @param args */ public static void main(String[] args) { DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); try { DocumentBuilder db=dbf.newDocumentBuilder(); Document doc=db.parse("PetInfo.xml"); //获取根节点 Node pets=doc.getDocumentElement(); //获取根节点下的所有子节点 NodeList dogAndpenguin=pets.getChildNodes(); //开始遍历 for(int i=0;i<dogAndpenguin.getLength();i++){ if(dogAndpenguin.item(i).getNodeType()==Node.ELEMENT_NODE){ System.out.println(dogAndpenguin.item(i).getNodeName()); NodeList infos=dogAndpenguin.item(i).getChildNodes(); for(int j=0;j<infos.getLength();j++){ if(infos.item(j).getNodeType()==Node.ELEMENT_NODE) System.out.println(infos.item(j).getNodeName()); System.out.println(infos.item(j).getNodeValue()); } } } } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}