我有以下HTML正在解析:
<ul class="man">
<li>
height
<span>3.3"</span>
</li>
<li>
weight
<span>45kg</span>
</li>
<li>
date born
<span>1/12/1979</span>
</li>
</ul>
我使用下面的代码来解析上面的HTML:
foreach($xpath->query("//ul[@class='man']/li") as $element)
{
echo $element->nodeValue;
}
但是代码返回整个内容<li></li>
内部为高度3.3“,重量为45kg,而我需要将两者分别作为标签高度和3.3”作为值与标签相同的重量和45kg作为值。
我可以使用“// ul [@ class ='man'] / ul / span”获得第二个值,但不能在单独的变量中获得标签。
有什么想法解决这个问题?
P.S:无法更改标签值,因为它们来自HTML页面中的服务器。
答案 0 :(得分:1)
您可以遍历<li>
个孩子,其中第一个是DOMText
对象,其中包含(例如)height
标签,第二个将是{{ 1}} <span>
对象:
DOMElement