私はXpathを学び始めました。私は各映画の親(Javaを通して!)のすべての俳優を選択するコード行を書こうとしています。以下は、1つの映画の例ですが、複数の<Movie>
要素があり、それぞれが<Actor>
要素です。Xpath:すべての要素タイプを選択していますか?
<Movie Genre = 'Other'>
<Title>Requiem For A Dream</Title>
<ReleaseYear>2000</ReleaseYear>
<Director>Darren Aronofsky</Director>
<Actor Character = 'Sara Goldfarb'>Ellen Burstyn</Actor>
<Actor Character = 'Harry Goldfarb'>Jared Leto</Actor>
<Actor Character = 'Marion Silver'>Jennifer Connelly</Actor>
<Actor Character = 'Tyrone C. Love'>Marlon Wayans</Actor>
</Movie>
現在、私は、各<Movie>
要素の最初の<Actor>
要素を選択することができます - それは、forループを使用せずに、それらのすべてを選択することが可能ですか?
System.out.println("Starring: " + xpath.evaluate("Actor", movieNode) + " as " + xpath.evaluate("Actor/@Character", movieNode) + "\n");
は、任意およびすべてのヘルプ感謝場合:
ここでは、すべての<Movie>
要素の最初の<Actor>
の要素を表示するコードの私の現在の行があります!
@Johannes:あなたがしたいことは私には分かりません。あなたはドキュメント全体のすべての 'Actor'要素を選択しますか?または、コンテキスト内の 'Movie'要素の' Actor'要素の子をすべて選択しますか? –
以前はJavaでXPathを使っていませんでしたが、戻り値の型をStringではなくNodeSetに変更する必要があると推測しています( 'evaluate()'のオーバーロードを使用してください)。それはAPIが何かにちょっときれいになっているライブラリがあるかもしれないと言われています。そうですね、ドキュメント内のすべてのActor要素を選択する式は '// Actor'になります – CurtainDog
@Alejandro:すべての映画のすべての子要素。 – Johannes