java中怎样取出XML格式字符串的节点属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中怎样取出XML格式字符串的节点属性相关的知识,希望对你有一定的参考价值。
这里只是一个字符串,内容格式与xml一样,怎样才能读取里面的每个节点的属性,和内容?
这个可以用正则表达式来实现。。。要看你xml具体内容,才能确定表达式该怎么写,我给你举个简单的例子
<a><b>hello</b><b>world</b></a>想提取出b标签里面的内容可以用下面的代码实现
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test
public static void main(String[] args)
String s = "<a><b>hello</b><b>world</b></a>";
Pattern pattern = Pattern.compile("<b>(.*?)</b>");
Matcher matcher = pattern.matcher(s);
while(matcher.find())
System.out.println(matcher.group(1));
运行结果:
hello
world
如果很复杂的话。。。可以用专门的解析XML的来解析。。。一般的自己写个正则就可以解决了。。
希望能帮到你。。。仍有问题可以继续追问或者直接HI我。。。追问
是获取节点的属性,不是值
参考技术A 如果格式和xml一样最好是转换为xml格式,在用dom4j 来操作xml,这样获取属性或内容就跟简单 参考技术B http://zhidao.baidu.com/question/379404603.html?oldq=1参考资料:http://zhidao.baidu.com/question/379404603.html?oldq=1
参考技术C Document document= sax.read("bb.xml");Element root = document.getRootElement();
for (Iterator iter = root.elementIterator(); iter.hasNext();)
Element vals = (Element) iter.next();
System.out.println("name=" + vals.getName()
+ " \t attribut ID=" + vals.attributeValue("id"));
for (Iterator iterVal = vals.elementIterator(); iterVal
.hasNext();)
Element valNode = (Element) iterVal.next();
System.out.print("\t childName=" + valNode.getName()
+ "\t childValue=" + valNode.getText());
System.out.println();
追问
是每个节点,包括父节点
本回答被提问者采纳以上是关于java中怎样取出XML格式字符串的节点属性的主要内容,如果未能解决你的问题,请参考以下文章
java中dom方式读取xml,怎样根据xml的某个属性找到指定节点?? 比如id属性
数据库中数据偶尔有换行符、回车符,在java里取出数据拼JSON格式字符串的时候要出问题。
【求助】Dom4j 生成xml,节点增加属性时,属性值中有特殊字符,如何做到不转义