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我。。。追问

是获取节点的属性,不是值

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-07
如果格式和xml一样最好是转换为xml格式,在用dom4j 来操作xml,这样获取属性或内容就跟简单
第3个回答  推荐于2016-09-29
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();
}
}追问

是每个节点,包括父节点

本回答被提问者采纳
相似回答