2

我有这个 XML 并希望在节点“ObjectDetails”中获取第二个元素的名称。名字叫“库普”

$xml = '
    <ObjectenLijst TimeStamp="17-07-2012 09:14:46" Versie="12">
        <Object>
            <ObjectDetails>
                <Adres>Niebergweg 1</Adres>
                <Koop>
                    <Prijsvoorvoegsel>vraagprijs</Prijsvoorvoegsel>
                    <Koopprijs>31000</Koopprijs>
                    <KoopConditie>kosten koper</KoopConditie>
                </Koop>
            </ObjectDetails>
        </Object>
    <ObjectenLijst>' ;

当我使用这个 XPath 时,会返回一个空数组:

$xml = simplexml_load_string($xml);
$result =  $xml->xpath('name(//Object/ObjectDetails/*[2])');
4

1 回答 1

1

据我所知,SimpleXMLElement::xpath只能返回一个SimpleXMLElement节点数组,所以你试图做的事情是无效的。但是,您可以通过以下方式获取节点的名称:

$result =  $xml->xpath('/ObjectenLijst/Object/ObjectDetails/*[2]');
$name = $result[0]->getName(); // Koop
于 2012-11-22T12:40:34.470 回答