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属性

怎样获取xml中当前节点的直接孩子节点个数

数据库中数据偶尔有换行符、回车符,在java里取出数据拼JSON格式字符串的时候要出问题。

【求助】Dom4j 生成xml,节点增加属性时,属性值中有特殊字符,如何做到不转义

如何在 Java 中解析包含 XML 的字符串并检索根节点的值?

以 XML 格式格式化字符串并删除无效的属性字符