/foo/p/descendant::text()
string-join(/foo/p/descendant::text(), ' ')
<foo>
<p class="mr-2 mb-2">
Latest 25 from a total of <a href="/" data-toggle="tooltip" title="" data-original-title="Click to view full list">70</a> transactions
</p>
</foo>
String='Latest 25 from a total of 70 transactions'
<foo>
<p class="mr-2 mb-2">
Latest 2 from a total of 2 transactions
</p>
</foo>
String='Latest 2 from a total of 2 transactions'
=РЕГВ( ВЕБСЛУЖБА("https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT"); "\d+.\d+")
=IMPORTXML(A1;"//ul[@class = 'tb-thumb tb-clearfix']/li[position() = 1]/div/a/img/@data-src")
=REGEXREPLACE(B1; "_50x50\.jpg$"; "")
//*[text()='Title'][1]/following-sibling::*[1]
=IMPORTXML("https://chelyabinsk.n1.ru/kupit/kvartiry/vtorichka";"//a[@class='link']/@href")
<office code="ВТ">
<lesson no="2" complex="BT">
<?xml-stylesheet type='text/xsl' href='/time.xsl'?>
<timeTable>
<offices>
<office code="КУ">
<name>Курская</name>
<address>Костомаровский пер., дом 3, стр 4, Москва, 105120</address>
</office>
<office code="BT">
<name>ВДНХ Техноград</name>
<address>пр-т Мира, 119 строение 63, Москва, 129223</address>
</office>
</offices>
<lessons>
<lesson no="1" complex="КУ">
<thema>Обзор XML технологий</thema>
<date>2021-01-19</date>
<time>10:00</time>
</lesson>
<lesson no="2" complex="BT">
<thema>Введение в XML</thema>
<date>2021-01-23</date>
<time>17:20</time>
</lesson>
<lesson no="3" complex="BT">
<thema>Правила XML</thema>
<date>2021-01-26</date>
<time>15:30</time>
</lesson>
<lesson no="4" complex="КУ">
<thema>Пространства имён XML</thema>
<date>2021-01-29</date>
<time>10:00</time>
</lesson>
<lesson no="5" complex="BT">
<thema>DTD: Описание структуры документа</thema>
<date>2021-02-03</date>
<time>17:20</time>
</lesson>
<lesson no="6" complex="BT">
<thema>DTD: определение сущностей</thema>
<date>2021-02-08</date>
<time>15:30</time>
</lesson>
<lesson no="7" complex="КУ">
<thema>Введение в XML Схемы</thema>
<date>2021-02-12</date>
<time>10:00</time>
</lesson>
<lesson no="8" complex="BT">
<thema>XML Схема: типы данных</thema>
<date>2021-02-17</date>
<time>17:20</time>
</lesson>
<lesson no="9" complex="BT">
<thema>Атрибуты типов</thema>
<date>2021-02-21</date>
<time>15:30</time>
</lesson>
<lesson no="10" complex="КУ">
<thema>XML Схема: Расширение сложных типов</thema>
<date>2021-02-25</date>
<time>10:00</time>
</lesson>
</lessons>
</timeTable>
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:apply-templates select="timeTable"/>
</xsl:template>
<xsl:template match="timeTable">
<html>
<head>
<title>page</title>
</head>
<body>
<xsl:apply-templates select="offices"/>
</body>
</html>
</xsl:template>
<xsl:template match="offices">
<div>
<xsl:apply-templates select="office"/>
</div>
</xsl:template>
<xsl:template match="office">
<xsl:variable name="office_code" select="@code"/>
<div>
<xsl:text>Комплекс </xsl:text>
<xsl:value-of select="name"/>
<xsl:text>: всего занятий </xsl:text>
<xsl:value-of select="count(/timeTable/lessons/lesson[@complex = $office_code])"/>
<xsl:text>, занятий в 10:00 </xsl:text>
<xsl:value-of select="count(/timeTable/lessons/lesson[@complex = $office_code and time = '10:00'])"/>
</div>
</xsl:template>
</xsl:stylesheet>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>page</title>
</head>
<body>
<div>
<div>Комплекс Курская: всего занятий 4, занятий в 10:00 4</div>
<div>Комплекс ВДНХ Техноград: всего занятий 6, занятий в 10:00 0</div>
</div>
</body>
</html>
можно ли написать универсальный xpath-запрос, в котором будет меняться содержимое contains, чтобы получить эти текстовые значения.
//article[@class='eText']/p/b[. = 'Жанр:']/following-sibling::text()[1]
<article class="eText">
<p class="">
<b class="">Жанр:</b>вфывафыва
<b class="">Время:</b> 22 х ~ 00:24:00
</p>
</article>
Text='вфывафыва'
//article[@class='eText']/p/b[text() = 'Жанр:'][generate-id(following-sibling::text()[1]/preceding-sibling::node()[1]) = generate-id(.)]/normalize-space(following-sibling::text()[1])
<article class="eText">
<p class="">
<b class="">Жанр:</b><b class="">Жанр:</b>Многоголосый дубляж от Wakanim
<b class="">Время:</b> 22 х ~ 00:24:00
</p>
</article>
String='Многоголосый дубляж от Wakanim'
<b>
. Незн насколько наглядно проиллюстрировал)<meta content="трататамноготекста" itemprop="page_data"/>
=IMPORTXML("https://kupit-salyut.ru/batarei-salyutov/?limit=400";"//div[@id = 'content']//img[@class='img-responsive']/@src")
<?php
$dom = new DOMDocument();
$dom->loadXML('
<div class="abc">
<span class="foo">Hello</span>
<span class="bar">World</span>
<span class="baz">by</span>
</div>');
$xpath = new DOMXPath($dom);
$result = $xpath->evaluate('concat(/div/span[@class="foo"]/following-sibling::*[1], " ", /div/span[@class="foo"]/following-sibling::*[2])');
var_dump($result);
string 'World by' (length=8)
<?php
$XMLResult = '
<root>
<a href="https://google.com/">google.com</a>
<a href="https://bing.com/">bing.com</a>
<a href="https://yahoo.com/">yahoo.com</a>
</root>';
$XML = simplexml_load_string($XMLResult);
$XMLResults = $XML->xpath('/root/a/@href');
foreach($XMLResults as $SimpleXMLElement) {
var_dump(strval($SimpleXMLElement['href']));
}
string 'https://google.com/' (length=19)
string 'https://bing.com/' (length=17)
string 'https://yahoo.com/' (length=18)