XML文件格式如下:
<?xml version="1.0" encoding="UTF-8" ?>
<table count='2'>
   <row>
      <id>
         <![CDATA[1]]>
      </id>
      <type>
         <![CDATA[income]]>
      </type>
     <money>
         <![CDATA[234]]>
     </money>
     <as_sortIndex>1</as_sortIndex>
   </row>
   <row>
      <id>
          <![CDATA[2]]>
      </id>
      <type>
         <![CDATA[outcome]]>
      </type>
      <money>
         <![CDATA[108]]>
      </money>
      <as_sortIndex>2</as_sortIndex>
   </row>
</table>然后使用如下代码读取上面的XML文件
         DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder parser=factory.newDocumentBuilder();
Document doc=parser.parse(application.getRealPath("/")+new File("test.xml"));
NodeList nlist=doc.getElementsByTagName("table");
Element node=(Element)nlist.item(0);
String v=node.getElementsByTagName("row").item(0).getFirstChild().getNodeValue();
System.out.println("=="+v);运行上面的代码,想打印出结点id,type,money的值,上面的代码只打印出==,结点信息没有打印出来,如何才能打印出结点信息?谢谢!

解决方案 »

  1.   

    不知道这个是不是你想要的
    package csdn;import java.io.IOException;import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;
    public class Test { public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
    DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
        DocumentBuilder parser=factory.newDocumentBuilder();
        Document doc=parser.parse("test.xml");
        NodeList nlist=doc.getElementsByTagName("table");
        Element node=(Element)nlist.item(0);
        String v=node.getElementsByTagName("row").item(0).getTextContent();
        System.out.println("=="+v); }
    }
      

  2.   

    提取全部有用信息:
    package csdn;import java.io.IOException;import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;
    public class Test { public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
    DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
        DocumentBuilder parser=factory.newDocumentBuilder();
        Document doc=parser.parse("test.xml");
        NodeList nlist=doc.getElementsByTagName("table");
        Element node=(Element)nlist.item(0);
        NodeList list=node.getElementsByTagName("row");
        int length=list.getLength();
        for(int i=0;i<length;i++){
         NodeList note=list.item(i).getChildNodes();
         int len=note.getLength();
         for(int j=0;j<len;j++){
         if(!note.item(j).getTextContent().equals("\n")||!note.item(j).getTextContent().equals("")){
         String str=note.item(j).getTextContent().trim();
         System.out.println(str);
         }
         }
        }
    }
    }
      

  3.   

    如果你不需要比较快的去读xml的话,试试xpath参考资料 http://www.w3cschool.cn/index-14.html
      

  4.   


    如果我只想提取money信息呢该如何修改上面的程序呢?