xml ファイルで Xquery コードを実行しようとすると、フィールドの 1 つで複数の結果が得られます。
ここに私のxmlファイルがあります
<Actors>
<Actor name="NTR">
<Movie TITLE="Yamadonga" Director="Rajamouli"></Movie>
<Movie TITLE="AADI" Director="VV vinayak">
</Movie>
</Actor>
<Actor name="Rajeev">
<Movie TITLE="Yamadonga" Director="Rajamouli" ></Movie>
</Actor>
<Actor name="mahesh">
<Movie TITLE="pokiri" Director="puri">
</Movie>
</Actor>
私のxqueryファイル
<Director>
{
for $Movie in doc("actors.xml")/Actors/Actor/Movie
return
if($Movie/@TITLE=$title)
then
data($Movie/@Director)
else()
}
</Director>
最も重要なことは、私の結果です
<movies>
<movie>
<Title>Yamadonga</Title>
<Actor>NTR</Actor>
<Actor>Rajeev</Actor>
<Director>Rajamouli Rajamouli</Director>
</movie>
</movies>
director フィールドで値を 1 つだけ取得する方法は?
私の手順:- (../Movie/@TITLE) に対して個別の値関数を実行したところ、タイトルを表示するための答えが得られました。しかし、タイトルと監督は映画の属性であるため、一方を使用して他方にアクセスすることはできません。俳優を反復処理すると、1 つの映画に 1 人の監督を持つ 2 人の俳優が存在するため、監督名が 2 回出力されます。映画を反復処理するとき、それは属性ではないため、個別の値を使用できません。