Как получить титул? Из этого XML с помощью Zend Framework? - PullRequest
0 голосов
/ 30 августа 2011

Я очень новичок в Zend Framework. И я пытался получить значение XML, но не могу заставить его работать.

XML:

<?xml version="1.0" encoding="UTF-8"?>
<result count="2">
    <blocks>
        <listing>
            <title>Title 1</title>
            <id>1</id>
        </listing>
        <listing>
            <title>Title 2</title>
            <id>2</id>
        </listing>

    </blocks>
</result>

PHP (чтобы найти все заголовок):

    $dom = new Zend_Dom_Query();
    $dom->setDocumentXml($result);

    $results = $dom->queryXpath('/result/blocks/listing/title'); 
    //$dom->queryXpath('/*/*/listing'); no luck
    //$dom->queryXpath('///listing'); no luck 

    foreach($results as $k)
    {
        Zend_Debug::dump($k->getAttribute('title')); // empty
        echo $k->getDocument(); // shows none
    }

Любая помощь?

Ответы [ 2 ]

4 голосов
/ 30 августа 2011

Использование queryXpath('/result/blocks/listing/title') ваш $k уже равен DOMElement , который представляет <tile>...</title> элементы.
Вы можете получить значение через $ k -> nodeValue . Для DOMElement это объединение всех текстовых узлов по оси .

foreach($results as $k)
{
    Zend_Debug::dump($k->nodeValue); // empty
}
0 голосов
/ 30 августа 2011

заголовок - это узел, а не атрибут - атрибуты помещаются внутри тега:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...