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

2024-10-28 11:56:35
推荐回答(3个)
回答(1):

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





girl



Empire Burlesque
Bob adDylan
USA
Coludafadmbia
10.90
1985


Empire Burlesque
Bob Dylan
USA
Columbia
10.90
1985



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);
}

}

回答(2):

javax.xml.parsers.DocumentBuilderFactory;这个包下的DocumentBuilderFactory类带有生成单例的方法。得到DocumentBuilderFactory对象后,调用.newDocumentBuilder();能得到DocumentBuilder对象,这个对象的parse方法就可以读取xml文件了。读取之后返回的是一个Document对象,里面的方法多的很,去看看api就会用了。

回答(3):

建议百度文库,搜索java解析XML文件,总有你想要的。