neo4j: jQuery не возвращает ожидаемого результата в apo c .load. html - PullRequest
0 голосов
/ 30 января 2020

Учитывая приведенный ниже файл html:

<html>
<body>
<h2 id='KPILIST'> Blah Blah 1</h2>
<div>
    <div>
        <table>
            <tbody>
                <tr><th>Col 1 Header</th><th>Col 2 Header</th></tr>
                <tr><td>Line 1.1 Value</td><td>Line 2.1 Header</td></tr>
                <tr><td>Line 2.1 Value</td><td>Line 2.2 Value</td></tr>
            </tbody>
        </table>
    </div>
</div>
<div>
    <div>
        <table>
            <tbody>
                <tr><th>Col 1 Header T2</th><th>Col 2 Header T2</th></tr>
                <tr><td>Line 1.1 Value T2</td><td>Line 2.1 Header T2</td></tr>
                <tr><td>Line 2.1 Value T2</td><td>Line 2.2 Value T2</td></tr>
                </tbody>
        </table>
    </div>
</div>

</body>
</html>

Я бы ожидал, что приведенный ниже код вернет первый блок c из 3 строк из первой таблицы выше

// Blah Blah
CALL apoc.load.html("file:///XXX.html",{line: "#KPILIST ~ div:eq(0) div > table tr"}) yield value as lineList
unwind (lineList.line) as L
RETURN L

Но, к сожалению, ничего не возвращается Даже простой запрос, такой как table:eq(0), не работает, так как возвращает обе таблицы, а не только первую

1 Ответ

0 голосов
/ 30 января 2020

apo c .call.load основан на jsoup, а не jQuery

Вышеприведенный запрос должен быть:

"h2#KPILIST + div tr"

Ниже приведена ссылка на селекторы jsoup синтаксис:

https://jsoup.org/cookbook/extracting-data/selector-syntax

...