3

最初の要素を選択したいのですが、出力でその名前を無視します。

urlこれは、各入力xmlファイルから最初の要素を要求した後、私が得ているものです:

% xmllint \
 --xpath '(//yandexsearch/response/results/grouping/group/doc/url)[1]' \
 *.response.ya.xml
<url>https://example.com/</url><url>https://example.net/</url><url>https://example.org/</url>

しかし、これは私が代わりに欲しいものです:

https://example.com/
https://example.net/
https://example.org/

<url>各入力 Yandex.XML (Я Feel Lucky) から最初の要素の値を選択するという考え方に注意してください。

xpathでそれを行うにはどうすればよいですか?

4

2 に答える 2

2

代わりに試してください:

//yandexsearch/response/results/grouping/group/doc[1])/url/text()

通常、XPath はノードのみを選択し、xpath 抽出を囲むコードで連結を行います。

そうは言っても、XPath 2.0 を使用できる場合は、次のことができます。

string-join(//yandexsearch/response/results/grouping/group/doc[1])/url/text(), ' \n')

また、この回答は、いくつかの XSLT ベースのソリューションを提供します。

于 2014-01-10T20:47:01.057 に答える