Может ли XML :: LibXML добавить узлы в документ только на основе XPath? - PullRequest
1 голос
/ 26 сентября 2011

Я ищу метод, который позволил бы мне оживить текстовый узел, который выглядит примерно так:

$doc->addNode( $xPath );

Тот факт, что запросы XPath могут иногда становиться довольно забавными, вероятно, является достаточно веской причиной.для того, чтобы не реализовать такой метод внутри XML::LibXML.

Но более простые абсолютные XPath обеспечивают удобное представление адресов для узлов.Бывают случаи, когда такой метод делает жизнь намного проще, а также гораздо больше смысла.

Чтобы удовлетворить эту потребность, я свернул свой собственный слишком упрощенный саб, который выполняет рекурсивный переход по XPath.пока не будет найден существующий XPath, после чего необходимые узлы будут созданы и добавлены.Пока он работает, он не обрабатывает индексированные XPath (например, /library/book[2]/title), и ссылки на text() узлы необходимо удалить.

Я надеюсь, что есть альтернативное решение, котороевыполняет мое требованиеНаписание собственного XPath-парсера / нод-генератора - слишком много работы для того, чего оно стоит.

...