Как изменить XML-дерево с помощью xpath?

Milagro

Новичок
Как изменить XML-дерево с помощью xpath?

if( !$xmldom = domxml_open_file(XMLFILE))
die("Ошибка создания domxml из файла");

$xpath = $xmldom->xpath_new_context();

$nodeset = $xpath->xpath_eval("/volume/chapter/@title");

Здесь все понятно, достучаться до любой ветки с помощью xpath легко и приятно.

А как изменить что-то в $xmldom с помощью xpath? Ну например я хочу заменить значение аттрибуту /volume/chapter/@title на "Новое значение"?

-~{}~ 10.02.06 22:07:

Вопрос снят :)

Насколько я понял xpath-контекст представляет из себя не что иное как отображение xmldom. Соответственно меняем что-то в $xpath и это отражается в $xmldom (вернее наоборот, xmldom первично).
 

slach

Новичок
если быть еще более точным
с XPath - это вообще язык АДРЕСАЦИИ в xml документе
т.е. ты с помощью XPath задаешь просто выражение, которое возвращает нодесет или скалярное выражение

соответсвенно используя xpath_eval ты получаешь нодесет
а уже с этим нодесетом, ты можешь делать все что тебе захочется через DOM в том числе и менять и удалять
 
Сверху