使用java解析xml文档

使用java解析xml文档,java,javascript,html,xml,xml-parsing,Java,Javascript,Html,Xml,Xml Parsing,我有一个.xml文件,它的值如下 <?xml version="1.0" encoding="UTF-8"?> <CRAWL> <NAME>span[class=lrg bold],attr=0</NAME> <PRICE>span[class~=(?i)(bld lrg red|price)],attr=0</PRICE> <DESC>div[class=sss],attr=0</DESC> <

我有一个.xml文件,它的值如下

<?xml version="1.0" encoding="UTF-8"?>
<CRAWL>
<NAME>span[class=lrg bold],attr=0</NAME>
<PRICE>span[class~=(?i)(bld lrg red|price)],attr=0</PRICE>
<DESC>div[class=sss],attr=0</DESC>
</CRAWL>

span[class=lrg bold],属性=0
跨度[类别=(?i)(建筑红线|价格)],属性=0
div[class=sss],attr=0
为了读取这个xml文件,我使用以下代码

         NodeList nodes = doc.getElementsByTagName("CRAWL");
             for (int i = 0; i < nodes.getLength(); i++)
               {
                 NodeList name = element.getElementsByTagName("NAME");
         Element line = (Element) name.item(0);

         System.out.println("name: " + line.getFirstChild().getTextContent());
         setName(line.getFirstChild().getTextContent());

         NodeList price = element.getElementsByTagName("PRICE");
         line = (Element) price.item(0);
         System.out.println("price: " + line.getFirstChild().getTextContent());
         setPrice(line.getFirstChild().getTextContent());

         NodeList desc = element.getElementsByTagName("DESC");
         line = (Element) desc.item(0);
         System.out.println("description: " +    line.getFirstChild().getTextContent());
         setDesc(line.getFirstChild().getTextContent());
NodeList nodes=doc.getElementsByTagName(“爬网”);
对于(int i=0;i
但我的问题是,如果我有一个.xml文件,它有多个
节点,那么我如何解析这两个节点呢

<CRAWL>
<NAME>span[class=lrg bold],attr=0</NAME>
<PRICE>span[class~=(?i)(bld lrg red|price)],attr=0</PRICE>
<DESC>div[class=sss],attr=0</DESC>
</CRAWL>
<CRAWL>
<NAME>span[class=lrg bold],attr=0</NAME>
<PRICE>span[class~=(?i)(bld lrg red|price)],attr=0</PRICE>
<DESC>div[class=sss],attr=0</DESC>
</CRAWL>

span[class=lrg bold],属性=0
跨度[类别=(?i)(建筑红线|价格)],属性=0
div[class=sss],attr=0
span[class=lrg bold],属性=0
跨度[类别=(?i)(建筑红线|价格)],属性=0
div[class=sss],attr=0

读取
中的值后,我想读取下一个

XML只能有一个根元素。请将两个CRWL标记都放在一个根元素中,否则它将不是有效的XML。@sarath您就快到了。.为什么要使用NodeList来读取名称、价格、描述……只有一个元素pe就在爬网标签中..看起来像是读取所有爬网tags@sarath,我建议在JavaSE5及更高版本中使用javax.xml.XPathAPI,而不是getElementsByTagName,以使代码更可读,更易于维护