我正在尝试通过xPath从XML文件中获取数据。
这是XML:
<item>
<title>
51-årig stukket i maven: Klapper i over for politiet
</title>
<link>
http://newsbreak.dk/51-aarig-ringede-om-hjaelp-efter-knivstik-nu-tier-han/
</link>
<pubDate>Tue, 20 Jan 2015 09:19:46 +0000</pubDate>
<description>
<![CDATA[
<img width="600" height="400" src="http://newsbreak.dk/wp-content/uploads/2015/01/politi44.jpg" class="attachment-big" alt="Foto: Colourbox (genrefoto)" /><br />51-årig mand vil ikke tale med politiet, selvom han selv ringede til ordensmagten for at få hjælp til knivstik
]]>
</description>
<category>
<![CDATA[ A-historier ]]>
</category>
<category>
<![CDATA[ Krim ]]>
</category>
<guid>
http://newsbreak.dk/51-aarig-ringede-om-hjaelp-efter-knivstik-nu-tier-han/
</guid>
</item>
这是PHP:
$titelQuery = $xpath->query("//item/title/text()");
$itemQuery = $xpath->query("//item");
$linkQuery = $xpath->query("//item/guid/text()");
$imageQuery = $xpath->query("//item/description/text()");
我得到了正确的标题和链接,但是当我试图获取“描述”部分时,我只是得到图像标记之后的文字:
<br />51-årig mand vil ikke tale med politiet, selvom han selv ringede til ordensmagten for at få hjælp til knivstik
]]>
答案 0 :(得分:0)
只需定位<description>
节点,然后使用->nodeValue
:
$imageQuery = $xpath->query("//item/description");
echo $imageQuery->item(0)->nodeValue;
使用->evaluate()
也可以:
echo $xpath->evaluate('string(//item/description)');