嗨,我想弄清楚功能是什么,只展示当然“CC130”的所有书籍?
我有这个“/ bookcollection / items / item / courses / course”可以显示每一门课程吗?
<?xml version="1.0" encoding="utf-8"?>
<bookcollection>
<item id="59113">
<title>Computer science : a modern introduction /</title>
<isbn>0131659456</isbn>
<url>http://library.hud.ac.uk/catlink/bib/59113</url>
<borrowedcount>29</borrowedcount>
<courses>
<course>CC100</course>
<course>CC130</course>
<course>CX290</course>
</courses>
</item>
<item id="59118">
<title>Computer networks : protocols, standards, and interfaces /</title>
<isbn>0131660918</isbn>
<url>http://library.hud.ac.uk/catlink/bib/59118</url>
<borrowedcount>19</borrowedcount>
<courses>
<course>CC100</course>
</courses>
</item>
<item id="59131">
<title>Computer-based instruction : methods and development /</title>
<isbn>0131685929</isbn>
<url>http://library.hud.ac.uk/catlink/bib/59131</url>
<borrowedcount>43</borrowedcount>
<courses>
<course>CC100</course>
<course>CC300</course>
</courses>
</item>
<item id="59176">
<title>Computer networks : protocols, standards, and interfaces /</title>
<isbn>0131756052</isbn>
<url>http://library.hud.ac.uk/catlink/bib/59176</url>
<borrowedcount>10</borrowedcount>
<courses>
<course>CC100</course>
</courses>
</item>
</bookcollection>
答案 0 :(得分:1)
我认为你在寻找:
//item[descendant::course/text() = 'CC300']
答案 1 :(得分:1)
您需要谓词:
/bookcollection/item[courses/course = 'CC130']
这将匹配item
中至少有一个bookcollection
子项包含至少一个courses
子项值course
的所有CC130
个元素。当XML结构像这样规则时,通常更明智地拼出所有步骤而不是使用//
或descendant::
(例如//item[.//course = 'CC130']
也可以工作但是会涉及搜索整个树在所有级别上,名为item
的元素 - 但您知道唯一有趣的item
元素是直接位于bookcollection
下的元素。