使用JDOM解析XML文件的问题
发布网友
发布时间:2022-05-24 12:50
我来回答
共4个回答
热心网友
时间:2023-10-14 04:30
只要会使用XPath,这个问题就可以解决了。希望你学习一下XPath。JDOM及DOM4J都对XPath有相应的支持,下面是使用JDOM来处理你的问题的原代码。
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.xpath.XPath;
import java.io.*;
public class JDOMTest {
public static void main(String[] args) throws Exception {
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(new FileInputStream("disks.xml"));
Element root = doc.getRootElement();
String nameText = ((Text)XPath.selectSingleNode(root, "//name/text()")).getTextNormalize();
System.out.println(nameText);
}
}
下面是disks.xml源代码。你可以把name元素移动到xml文档的任意位置,它都可以找到。
<?xml version="1.0"?>
<disk>
<a>
<name1>name1</name1>
</a>
<b>
<name1><name>abcdefg</name></name1>
</b>
<c>
<name1>name2</name1>
</c>
<d>
<name1>name3</name1>
</d>
</disk>
如果还是不明白,你把你的邮箱告诉我,我把我的xml课件发给你。我是教Java的讲师,当然我也教XML。
热心网友
时间:2023-10-14 04:30
JDOM能很容易做到啊,你是要生成XML,还是要解析,name是否唯一啊?最后输出的结果是流,还是文件。不知道没办法帮你啊。
热心网友
时间:2023-10-14 04:31
如果想像js那样用ID查找的话,我估计是要写DTD文档的
不过,这个我也不会
热心网友
时间:2023-10-14 04:31
没有那么麻烦,使用xpath来解析吧
dom编程么,没有那么麻烦
拿分来...
如果还是不懂,加我好友帮你搞定