如何从xquery中的xml文件返回属性?

问题描述 投票:-4回答:1

我努力以作者的名义获得电影的标题,我的意思是什么;我想得到每个作者的电影名称。我的查询:

    for $f in doc("Films.xml")//FILM,
$a in doc("Artistes.xml")//ARTISTE
where $a/@ID=$f/ROLES/ROLE/@acteur
order by $a/NOM
return string($f/@title)

资源:

<ARTISTES>
<ARTISTE ID='6'>
<NOM>Cameron</NOM>
<PRENOM>James</PRENOM>
<ANNEENAISS>1954</ANNEENAISS>
</ARTISTE>
<ARTISTE ID='3'>
<NOM>Hitchcock</NOM>
<PRENOM>Alfred</PRENOM>
<ANNEENAISS>1899</ANNEENAISS>
</ARTISTE>
</ARTISTES>



<FILMS>
<FILM titre='Vertigo'>
 <ANNEE>1958</ANNEE>
 <GENRE>Drame</GENRE>
 <PAYS>USA</PAYS>
 <MES>Hitchcock</MES>
 <ROLES>
  <ROLE acteur='3'>John Ferguson</ROLE>
  <ROLE acteur='16'>Madeleine Elster</ROLE>
 </ROLES>
</FILM>
<FILM titre='Alien'>
 <ANNEE>1979</ANNEE>
 <GENRE>Science-fiction</GENRE>
 <PAYS>USA</PAYS>
 <MES>Scott</MES>
 <ROLES>
  <ROLE acteur='6'>Ripley</ROLE>
 </ROLES>
</FILM>
<FILM titre='Titanic'>
 <ANNEE>1997</ANNEE>
 <GENRE>Drame</GENRE>
 <PAYS>USA</PAYS>
 <MES>Cameron</MES>
 <ROLES>
  <ROLE acteur='3'>Rose DeWitt Bukater</ROLE>
  <ROLE acteur='6'>Jack Dawson</ROLE>
 </ROLES>
</FILM>
</FILMS>

如果有人帮我解决这个问题,我将感激不尽。

xml xquery xpath-2.0
1个回答
0
投票

首先将所有内容放入根元素中。这是我的尝试:

let $doc := doc('1.xml')
let $authors := for $i in $doc//ARTISTES/ARTISTE
  return data($i/NOM)
for $author in $authors
  for $mes in $doc//FILMS/FILM where xs:string($mes/MES) = xs:string($author)
    return <Res>{data($author), data($mes/@titre)}</Res>
© www.soinside.com 2019 - 2024. All rights reserved.