我在用 Java 中的 XPath 乱七八糟,我似乎碰壁了。我有以下 XML 文档
<?xml version="1.0" encoding="UTF-8"?>
<database>
<student>
<index>1234</index>
<courselist>
<course name="analiza matematyczna 1" grade="5.0"/>
<course name="kurs programowania" grade="5.5"/>
<course name="logika i struktury formalne" grade="4.0"/>
</courselist>
</student>
<student>
<index>5678</index>
<courselist>
<course name="logika i struktury formalne" grade="5.0"/>
<course name="algebra z geometrią analityczną" grade="5.0"/>
<course name="kurs programowania" grade="5.5"/>
</courselist>
</student>
</database>
我想检索所有至少有一个 4.0 等级的索引号。我可以单独完成这些任务,但不能完全完成。我试过
/database/student/courselist/course[@grade='4.0']/@name | /database/student/index/text()
但结果远非理想
[#text: 1234] #good
name="logika i struktury formalne" #even better, I can display where 4.0 was achieved
[#text: 5678] #bad, this student doesn't have even one 4.0
我的问题是这样的查询在 XPath 中是否可行?当然,我将非常感谢一个工作示例:)