Заменить значение SimpleXMLElement - PullRequest
4 голосов
/ 07 декабря 2010

Это может быть просто, но я не смог найти ни одного примера в Интернете.Мне нужно найти узел с помощью xpath и заменить его значение.

Это небольшая версия XML-документа:

<?xml version="1.0" encoding="utf-16" standalone="yes"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
  <w:body>
    </w:p>
        <w:r>
            <w:t>John Doe</w:t>
        </w:r>
    </w:p>
  </w:body>
</w:document>

И это мой php-код:

<?php

$xml = simplexml_load_file("doc1/word/document.xml");
$result = $xml->xpath("/w:document/w:body/w:p[1]/w:r[1]/w:t[1]");

// the following code doesn't work...
$xml->$result = "George Dow";

echo $xml->asXML();

?>

По сути, Джон Доу должен быть Джорджем Доу

1 Ответ

4 голосов
/ 07 декабря 2010

Я нашел решение.По сути, поскольку функция xpath возвращает объект SimpleXMLElement массив, мне нужно получить к нему доступ как один:

// the following code doesn't work...
$xml->$result = "George Dow";

// but this does :D
$result[0][0] = "George Dow";
...