java中怎样取出XML格式字符串的节点属性

这里只是一个字符串,内容格式与xml一样,怎样才能读取里面的每个节点的属性,和内容?
最新回答
赏怀

2024-09-20 11:50:28

这个可以用正则表达式来实现。。。

要看你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我。。。
追问
是获取节点的属性,不是值
甜味拾荒者

2024-09-20 02:41:49

如果格式和xml一样最好是转换为xml格式,在用dom4j 来操作xml,这样获取属性或内容就跟简单
念河山远

2024-09-20 00:06:14

http://zhidao.baidu.com/question/379404603.html?oldq=1
夏了夏天

2024-09-20 05:50:03

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();
}
}
追问
是每个节点,包括父节点