0

以下のコードを使用してみたところ、tdタグの値ではなく、tdタグが返されます。

List<?> byXPath = page2.getByXPath("//tr[@class='metadata odd']/td");
System.out.println(byXPath.get(0).toString());

例:タグが

<td class='metadata odd'>Arun</td>

結果は

<td class='metadata odd'>

....結果がArunである必要があります。親切に助けて

4

2 に答える 2

1

これを試して:

DomText domText = (DomText) form.getFirstByXPath("//tr[@class='metadata odd']/td/text()");
System.out.println(domText.getTextContent());

編集:

すべての要素を取得したい場合は、のgetByXPath代わりにを使用して取得してくださいgetFirstByXPath。次に、返されたリストを繰り返し処理します(質問では必要なかったので、追加しませんでした)。

于 2012-06-14T14:04:30.257 に答える
0

探しているのは、実際にはtdタグのテキスト子ノードの文字列表現でtdあり、現時点で要求している要素自体の文字列表現ではありません。次のように、わずかに異なるXPath式を使用して、テキストの子ノードを直接参照します。

List<?> byXPath = page2.getByXPath("//tr[@class='metadata odd']/td/text()");
DomText textNode = (DomText)(byXPath.get(0));
System.out.println(textNode.toString());

この質問も参照してください。

于 2012-06-14T13:00:40.980 に答える