Конвертировать из HTML в строку XQuery - PullRequest
1 голос
/ 14 февраля 2020

У меня есть текст ниже

<p>Some Text. </p><p><br></p><p>Another Text.</p><p><br></p><p>Bla bla bla.</p>

Мне нужно преобразовать его в:

"Некоторый текст.

Другой текст.

Бла бла бла. "

Как мне это сделать в XQuery?

1 Ответ

1 голос
/ 14 февраля 2020

В MarkLogi c, вы можете использовать функцию xdmp:unquote() с опцией repair-full:

let $html := "<p>Some Text. </p><p><br></p><p>Another Text.</p><p><br></p><p>Bla bla bla.</p>"
let $xhtml := xdmp:unquote($html, "", "repair-full")
return $xhtml//text()

, которая будет возвращать последовательность text() узлов. Если вы хотите одну строку, вы можете изменить возврат на fn:string-join($xhtml//text(), "&#10;")

В BaseX , вы можете использовать html:parse() метод

В Saxon вы можете использовать saxon:parse-html() метод

...