java怎么取出xml中指定节点中的内容

2024-12-04 14:43:14
推荐回答(5个)
回答(1):

可以通过元素中的getText方法获取到节点的内容。
举例:
SAXReader sax = new SAXReader();
Document document = sax.read(reader);//reader为定义的一个字符串,可以转换为xml
Element root = document.getRootElement();//获取到根节点元素String str = root .getText()//获取到节点的内容
用到的是dom4j-1.6.1.jar,需要引入的包是:
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
备注:如果是多个子节点可以通过”Element xx=root .element("code")“获取到子节点的元素,前提是需要知道子节点的名称。

回答(2):

import java.io.File;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
public class Test {
public static void main(String[] args) throws DocumentException {
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("F:/a.xml"));
List nodes1 = doc.selectNodes("//ref/syn");
List nodes2 = doc.selectNodes("//ref/rel");
for (Node node : nodes1) {
System.out.println(node.selectSingleNode("word").getText() + " "
+ node.selectSingleNode("exp").getText());
}
for (Node node : nodes2) {
System.out.println(node.selectSingleNode("word").getText() + " "
+ node.selectSingleNode("exp").getText());
}
}
}

回答(3):

/**
* 获取xml字符串中元素标签值
*

xml中元素标签唯一


* @param responseXml 响应报文(xml字符串格式)
* @param element 元素名(区分大小写)
* @return 元素对应的值
*/
public String getXmlSingleElementValue(String responseXml, String element) {

String str = "";
String regex = "<" + element + ">" + "(.*)" + "";
Matcher matcher = Pattern.compile(regex).matcher(responseXml);
while (matcher.find()) {
str = matcher.group(1);
}
return str;
}

回答(4):

建议你百度DOM4J看看!

回答(5):

http://blog.csdn.net/hitop0609/article/details/4593624
这个地址里面有个相关例子,看了你应该就明白了