xpath для текста в конце HTML-тега - PullRequest
0 голосов
/ 11 мая 2018

Что такое xpath для следующей ситуации

Я пытаюсь получить ту часть, в которой он находится:

"Here is my text that I would like to get out of this. Bla Bla..."

Как вы можете видеть далее в HTML-коде, этот текстнаходится в самом конце -tag

Я пытался:

xpath = "/article()[last()]"

Но это не сработало!

Я пытался:

xpath = "//*[contains(@itemtype, 'http://schema.org/Article')]"

Но это тоже не сработало ...

Наверное, проблема в том, что в HTML-коде есть другие теги или я вообще что-то делаю не так ...

Вот HTML-код:

<div class="cbox"><article class="cf" itemscope itemtype="http://schema.org/Article">
<header>
<h1 itemprop="headline">Anzündhilfen: So bringen Sie die Kohle zur Weissglut</h1>
<em class="date">
<span class="my-color" itemprop="publisher">MyMagzine</span> 09/2018 vom <time datetime="2018-05-08" itemprop="datePublished">8. Mai 2018</time> | aktualisiert am <time datetime="2018-05-11" itemprop="dateModified">11. Mai 2018</time> </em>
<p>
von <span itemprop='author'>My Author</span> </p>
</header>
<p class="lead">Eine perfekte Glut ohne Rauch und Gestank bringen nur sogenannte Anzündkamine ­zustande. Aber zwei solche Produkte sind ­unsicher. </p>
<figure class="image-box cf" itemscope itemtype="http://schema.org/ImageObject">
<img src="/image/?m=Artikel&rid=1113094&attr=bild&thumb=thumb_yRsBeq_resize_300_200.png" alt="Funken sprühen  (Bild: CHRISTIAN BIRMELE)" itemprop="contentUrl">
<figcaption>
<p itemprop="description">Funken sprühen (Bild: CHRISTIAN BIRMELE)</p>
</figcaption>
</figure>
Here is my text that I would like to get out of this. Bla Bla Bla Bla Bla Bla
Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla
Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla
Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla
Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla Bla.&nbsp;
<br /> <br />My Magazine has this title inbetween&nbsp;
<br /> <br />Here is more text I also want to get our of this. [...]</p>
</article>

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

С помощью Андерссон я нашел решение!

Хитрость заключается в использовании node.text - так как xpath (sulution Андерссона) обеспечивает, теперь возвращает текст!

Вот оно:

xpath = "//article/figure/following-sibling::text()"

if let inputNodes = bodyNode?.xpath(xpath) {
    for node in inputNodes {
        print(node.text)
    }
}
0 голосов
/ 11 мая 2018

Попробуйте ниже XPath, чтобы получить необходимый текст

//article/figure/following-sibling::text()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...