JAVA怎么从XML里取出节点的值?

<?xmlversion="1.0"encoding="UTF-8"?><root><doctadviseno>2013112752200N</doctadviseno>... <?xml version="1.0" encoding="UTF-8"?>
<root><doctadviseno>2013112752200N</doctadviseno><sampleno>20130814SHK099999</sampleno><imagedata>R0lGODlhsAmzDfcAAP///zMAAGYAAJkAAMwAAP8AAAAzAAAAAGYzAJkzAMwzAP8zAABmADNmAGZmAJlmAMxmAP9mAACZADOZAGaZAJmZAMyZAP+ZAADMADPMAGbMAJnMAMzMAP/MAAD/ADP/AGb/AJn/AMz/AP//AAAAMzMAM2YAM5kAM8wAM/8AMwAzMzMzM2YzM5kzM8wzM/8zMw</imagedata></root>
展开
 我来答
kevintop3
推荐于2017-11-26 · TA获得超过1.5万个赞
知道小有建树答主
回答量:890
采纳率:100%
帮助的人:535万
展开全部

可以用dom4j. 参考如下代码(记得引入dom4j-1.6.1.jar和jaxen-1.1.4.jar):

<?xml version="1.0" encoding="ISO-8859-1" ?>

<CATALOG>
<allSong>
<Name>girl</Name>
<Time>2012.12.21</Time>
</allSong>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob adDylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Coludafadmbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
</CATALOG>



import java.io.File;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class Test {

/**
 * @param args
 * @throws Exception
 */
@SuppressWarnings({ "rawtypes", "unchecked" })
public static void main(String[] args) throws Exception {
SAXReader saxReader = new SAXReader();
File inputFile = new File("src/this.xml");
Document document = saxReader.read(inputFile);
Element root = document.getRootElement();

Element e = (Element) root.selectSingleNode("/CATALOG/allSong/Name");

// allSong节点下的Name节点的value
String name = e.getText();
System.out.println(name);

List cdList = root.selectNodes("/CATALOG/CD/ARTIST");
Element[] cdArray = new Element[cdList.size()];
cdList.toArray(cdArray);

// 第二个CD节点下的ARTIST节点的value
String ARTIST2 = cdArray[1].getText();
System.out.println(ARTIST2);
}

}
Lee小店
2013-08-15 · TA获得超过1265个赞
知道小有建树答主
回答量:767
采纳率:0%
帮助的人:368万
展开全部
javax.xml.parsers.DocumentBuilderFactory;这个包下的DocumentBuilderFactory类带有生成单例的方法。得到DocumentBuilderFactory对象后,调用.newDocumentBuilder();能得到DocumentBuilder对象,这个对象的parse方法就可以读取xml文件了。读取之后返回的是一个Document对象,里面的方法多的很,去看看api就会用了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiangzaifu
2013-08-15 · TA获得超过566个赞
知道小有建树答主
回答量:1169
采纳率:0%
帮助的人:442万
展开全部
建议百度文库,搜索java解析XML文件,总有你想要的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式