SimpleXML получить значение узла - PullRequest
9 голосов
/ 08 апреля 2011

Допустим, у меня есть следующая структура XML:

<?xml version="1.0" encoding="UTF-8"?>
<main>
    <parent>
        <child1>some value</child1>
        <child2>another value</child2>
    </parent>
</main>

Я создал переменную XML, и теперь я хочу получить значения child1, поэтому я использую SimpleXML:

$xml = new SimpleXMLElement($xml);
$this->xmlcode = (string) $xml->main->parent->child1;

Но я получаю это сообщение: Примечание: пытаюсь получить свойство необъекта в /x.php в строке x

Я также пробовал это с $ xml-> parent-> child1, но безуспешно.

Кто-нибудь ??

Ответы [ 2 ]

23 голосов
/ 08 апреля 2011
$xml = new SimpleXMLElement($xml);
$this->xmlcode = (string) $xml->parent[0]->child1;
2 голосов
/ 08 апреля 2011

Хороший пример использования XPath с php для элемента SimpleXMLE можно найти здесь http://www.php.net/manual/en/class.simplexmlelement.php#95229

// Find the topmost element of the domDocument
$xpath = new DOMXPath($xml);
$child1 = $xpath->evaluate('/main/parent/child1')->item(0); 
...