いくつかの属性を取得できるように、次の XML ファイルを解析しようとしています。私がしなければならないことの 1 つは、タグ間のコンテンツが空でないことを確認することです。これを行うには、Web 要素用に提供されている getText メソッドを使用できます。
XML ファイル:
<results>
<result index="1">
<track>
<creator>Cool</creator>
<album>Amazing</album>
<title>Awesome and Fun</title>
</track>
</result>
</results>
解析して必要なものを取得するためのコードは次のとおりです (複数の結果があることに注意してください)。
boolean result = false;
driver.get(url);
List<WebElement> result_list = driver.findElements(By.xpath(".//result"));
if (result_list.size() == num_results) {
try {
for (int i = 0; i < result_list.size(); i++) {
WebElement track = result_list.get(i).findElement(By.xpath(".//track"));
WebElement creator = track.findElement(By.xpath(".//creator"));
System.out.println(creator.getText());
track.findElement(By.xpath(".//album"));
track.findElement(By.xpath(".//title"));
}
result = true;
}
catch (Exception e) {
result = false;
}
}
return result;
問題は、作成者タグの間に明確なテキストがある場合、System.out.println 呼び出しが空の文字列を返すことです。どんな助けでも大歓迎です!