java中怎样取出XML格式字符串的节点属性
4个回答
展开全部
这个可以用正则表达式来实现。。。
要看你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我。。。
要看你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我。。。
追问
是获取节点的属性,不是值
展开全部
如果格式和xml一样最好是转换为xml格式,在用dom4j 来操作xml,这样获取属性或内容就跟简单
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
参考资料: http://zhidao.baidu.com/question/379404603.html?oldq=1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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();
}
}
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();
}
}
追问
是每个节点,包括父节点
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询