评估不包含xml标记的XPath查询

贾科莫

我需要知道是否可以在Java中使用XPath来获取查询结果中的XML片段。我会更好地解释,我正在工作这个简单的XML文件:

<bookshelf>
    <shelf>
        <book>
            <author>J.R.R. Tolkien</author>
            <title>The Lord of the Rings</title>
        </book>
    </shelf>
</bookshelf>

我必须评估的查询XPath是:/bookshelf/shelf/book

我需要找到一种方法来将XML标记保留在XPATH响应中,以得到如下所示的结果:

<author>J.R.R. Tolkien</author>
<title>The Lord of the Rings</title>

有可能做到吗?

欧文·博尔维特(Erwin Bolwidt)

是的,可以使用标准的Java XPath API:

import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathFactory;

import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;

public class Snippet {
    public static void main(String[] args) throws Exception {
        XPath xpath = XPathFactory.newInstance().newXPath();
        NodeList nodes = (NodeList) xpath.evaluate("/bookshelf/shelf/book/*", 
                new InputSource(Snippet.class.getResourceAsStream("/books.xml")),
                XPathConstants.NODESET);
        System.out.println("First  node: " + nodes.item(0));
        System.out.println("Second node: " + nodes.item(1));
    }
}

您可以要求XPath API返回节点列表,单个节点,字符串等evaluate。为此,请使用方法的最后一个参数:see XPathConstantsclass。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

处理不包含XML名称空间的XPath查询?

来自分类Dev

查询XPath以查找不包含满足条件的元素的节点

来自分类Dev

如何使用XPath查找不包含属性的XML节点?

来自分类Dev

Xpath 不包含

来自分类Dev

是否可以在不指定SQL Server的父标记的情况下查询XML标记?

来自分类Dev

XPath查询以获取<a>标记和<b>标记

来自分类Dev

XPath查询以获取<a>标记和<b>标记

来自分类Dev

查询不包含

来自分类Dev

改进用于 xpath 评估的 SQL 查询

来自分类Dev

不包含子appium的Xpath

来自分类Dev

不包含子appium的Xpath

来自分类Dev

PHP XPath查询XML?

来自分类Dev

PHP XPath查询XML?

来自分类Dev

htmlagilitypack xpath合并包含和不包含

来自分类Dev

使用包含功能的XPath查询

来自分类Dev

XPath查询HTML标记之间的内容

来自分类Dev

使用包含和不包含的Linq查询

来自分类Dev

如何根据前面的字符串中包含的内容使用XPATH在XML中选择未配对的标记?

来自分类Dev

Android XML解析-在标记中包含标记的XML

来自分类Dev

Android XML解析-在标记中包含标记的XML

来自分类Dev

Xpath 访问 XML 标记中的属性值

来自分类Dev

清晰高效的XPath,不包含任何元素

来自分类Dev

XPath-选择不包含元素的元素

来自分类Dev

清晰高效的XPath,不包含任何元素

来自分类Dev

如果不包含某些字符串,请替换某些Child值?还是重写XPATH查询?网站抓取

来自分类Dev

XPath子字符串-帮助/查询/评估之后?

来自分类Dev

不评估包含jsf组件的face组件内容

来自分类Dev

XPath查询不返回答案

来自分类Dev

Xpath-评估函数返回javax.xml.transform.TransformerException