0

いくつかの属性を取得できるように、次の 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 呼び出しが空の文字列を返すことです。どんな助けでも大歓迎です!

4

1 に答える 1