java - 通过子节点内容在XML中搜索子节点

标签 java xml xpath

我是 XPath 新手,我有一个问题:如何按特定名称在所有分支中搜索子项并在 XML 文件中显示信息?

<?xml version="1.0" encoding="UTF-8"?>
<movie><?xml version="1.0" encoding="UTF-8"?>
<movie>
  <film>
    <name>Peaceful Warrior</name>
    <actor>Scott Mechlowicz</actor>
  </film>
  <film>
    <name>Gone</name>
    <actor>Scott Mechlowicz</actor>
  </film>
  <film>
    <name>Gladiator</name>
    <actor>Russel Crowe</actor>
  </film> 
</movie>

我尝试过:

//*[ancestor::movie/film[name = "Scott Mechlowicz"]]

但这显示了所有信息,而我的目的是仅显示该 Actor 参与的电影。

这可以通过 XPath 实现吗?还是必须使用 getNameByTagName NodeList

最佳答案

您可以使用 XPath。如果您只是想获取电影名称列表,请尝试此 XPath(获取电影名称,其中 actor =“Scott Mechlowicz”)

//film[actor = "Scott Mechlowicz"]/name

/movie/film[actor = "Scott Mechlowicz"]/name

关于java - 通过子节点内容在XML中搜索子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30628691/

相关文章:

python - <br/> 标签之间节点的 Scrapy 选择器

xml - Xslt转换

iphone - iPhone 上的流式 SAX XML 处理

java - 如何生成包含已解析实体的 XML 文档的*精确*副本

java - Java中如何捕获由于缺少对象而导致的异常?

java - JSP 和 derby 数据库类

java - Android Java开发: App Stopped Working

c# - XPath 查找子元素的父元素

java - 为什么Thread.join使用currentTimeMillis?

java - 如何在SpringBootTest中添加一个bean