我试图在 SimpleXMLElement 上调用 XPath,但我总是得到空数组。这是 XML:
<Produkt>
.....
<Darstellung>
<Info Art="Kurztext" Wert="some info!"/>
<Info ... />
</Darstellung>
</Produkt>
我试过这个:
$shortDescription = $Produkt->xpath('//Darstellung/Info[@Art="Kurztext"]/@Wert');
$configurableProduct['short_description'] = (string)$shortDescription[0];
和这个:
$configurableProduct['short_description'] = $Produkt->xpath('//Darstellung/Info[@Art="Kurztext"]/@Wert');
并且//
在 XPath 表达式的开头没有或没有/*
. 但是当我转储时,我看到xpath()
函数返回的数组总是空的。
问题不在未注册的命名空间中,因为 XML 文件未使用命名空间。我已经有点想法了......(在语法中尝试了更多的东西,但已经不记得它们了)。
PS 是的,我确定$Produkt
是一个 SimpleXMLElement 对象,我已经检查过了。