我正在尝试使用php xpath evaluate或query检索某些值。但无法成功完成。 这是页面的html结构:
<div id="productinfo">
<h2>
<span id="productname">Computer</span>
</h2>
<span id="servieidLabel" style=""> Service ID: </span>
<span id="snLabel" style="display: none"> Serial Number: </span>
<span id="servidno">12345ABCD</span>
我想只显示带有style =&#34; display:none&#34;的内容。或者如果没有style属性。结果如下: - 服务ID:12345ABCD。
我试过了:
$ServLab = $xpath->query("//span[@id='servieidLabel']");
foreach ($ServLab as $entry) {
echo "Service Label:" ,$entry->nodeValue."<br />";
}
输出=服务ID:
和
$servid = $xpath->query("//span[@id='servidno']");
foreach ($servid as $entry) {
echo "Service Id No:" ,$entry->nodeValue."<br />";
}
输出=空白。而输出应该是12345ABCD。我错过了什么?
如果我尝试:
$prodid = $xpath->evaluate("//div[@id='productinfo']");
foreach ($prodid as $entry) {
echo $entry->nodeValue."<br />";
}
输出=服务ID:序列号:
请帮忙。
答案 0 :(得分:0)
您首先提出的问题可以在一个查询中解决。像这样:
$ServLab = $xpath->query("//div/span[string-length(@style) < 1]");
foreach ($ServLab as $entry) {
echo $entry->nodeValue."<br />";
}
这将提供
Service ID:
12345ABCD