我想在Java中使用XML来读取XML数据,所以对于我收集的信息,我无法根据我的要求解析XML。
这是我想做的:
通过URL从网上获取XML文件,然后使用XML解析,我想在其中创建两个方法。一个是输入特定的节点属性id,然后得到所有的子节点作为结果,第二个是假设我只想得到特定的子节点值
<?xml version="1.0"?>
<howto>
<topic name="Java">
<url>http://www.rgagnonjavahowto.htm</url>
<car>taxi</car>
</topic>
<topic name="PowerBuilder">
<url>http://www.rgagnon/pbhowto.htm</url>
<url>http://www.rgagnon/pbhowtonew.htm</url>
</topic>
<topic name="Javascript">
<url>http://www.rgagnon/jshowto.htm</url>
</topic>
<topic name="VBScript">
<url>http://www.rgagnon/vbshowto.htm</url>
</topic>
</howto>
字符串
在上面的例子中,我想读取所有的元素,如果我通过@name搜索,也有一个函数,我只是想从@name 'JavaScript'的URL只返回一个节点元素。
8条答案
按热度按时间63lcw9qa1#
你需要沿着这条线的东西:
字符串
然后调用
expr.evaluate()
,传入该代码中定义的文档和预期的返回类型,并将结果强制转换为结果的对象类型。如果您需要特定的Java表达式的帮助,您可能应该将其作为单独的问题提出(除非这是您首先提出的问题-我理解您的问题是如何在Java中使用API)。
Edit:(Response to comment):此表达式将获取PowerBuilder下第一个URL元素的文本:
型
这将为您带来第二个:
型
你可以通过这段代码得到:
型
如果你不知道一个给定的节点中有多少个URL,那么你应该这样做:
型
然后在NodeList上循环。
1u4esq0p2#
你可以试试这个
XML文档
保存为
employees.xml
。字符串
Parser类
类有以下方法
源码
型
xkrw2x1b3#
入门示例:
xml文件:
字符串
Java代码:
型
hec6srdp4#
下面是一个用vtd-xml处理xpath的例子.
字符串
2g32fytz5#
如果你有一个像下面这样的xml,
字符串
并希望提取下面的xml
型
下面的代码有助于实现相同的
型
现在,如果您只需要像下面这样的xml,
型
您需要更改
String xpathStr = "//Envelope//Header";
到String xpathStr = "//Envelope//Header/*";
af7jpaap6#
这将向您展示如何
1.将XML文件读入
DOM
1.用
XPath
过滤出一组Nodes
1.对每个提取的
Nodes
执行特定操作。我们将使用以下语句调用代码
字符串
在我们的例子中,我们想使用
"//book/creators/creator/creatorName"
作为xpath从book.xml
打印一些creatorNames
,以便在每个与XPath
匹配的Node上执行printNode
操作。完整代码
型
打印
型
对于
book.xml
型
xxb16uws7#
使用XPathFactory、
SAXParserFactory
和StAX (JSR-173)
读取XML文件。正在使用缓存节点及其子数据。
字符串
XML文档
型
给定XPathExpression的输出:
型
See this link为我们自己的
NamespaceContext
实现ergxz8rk8#
扩展@bluish和@Yishai的优秀答案,这里是如何使NodeLists和节点属性支持迭代器,即
for(Node n: nodelist)
接口。像这样使用它:
字符串
和
型
代码:
型