所以我有这个看起来像这样的xml:
<session number="1" name="NameOfMySession">
<article number="16">
<title>The title of my article 1</title>
<author name="Tetsuya Sakai" lab="OneLab" country="Japan"/>
<author name="Tatsuya Uehara" lab="OneLab" country="Japan"/>
<author name="Taishi Shimomori" lab="OneLab" country="Japan"/>
<author name="Makoto Koyama" lab="OneLab" country="Japan"/>
</article>
<article number="19">
<title>The title of my article 2</title>
<author name="Aiden R. Doherty" lab="TheLab" country="Ireland"/>
<author name="Alan F. Smeaton" lab="TheLab" country="Ireland"/>
<author name="Keansub Lee" lab="TheLab" country="USA"/>
<author name="Makoto Koyama" lab="OneLab" country="Japan"/>
</article>
</session>
我试图找到如何获得撰写多篇文章的作者的名字。
我的想法是计算作者出现在.xml中的时间,如果该计数大于1,则只显示名称。但出于某种原因,我无法弄清楚如何做到这一点。
因此,如果您对如何做到这一点有任何想法,那就太棒了。
答案 0 :(得分:0)
选择作者姓名,其中包含同名作者的以下文章,而不是前一篇(仅重复作者一次。)
/session/article/author/@name[
. = following::article/author/@name and
not(. = preceding::article/author/@name)
]