Проблема с диаграммой xml в Querypath (точки в элементах)
Вопрос
Я пытаюсь проанализировать Newsml (http://www.iptc.org/std/newsml-g2/2.7/examples/listing2_newsml-g2_complete.xml) с querypath. Но у меня проблемы с точками в некоторых элементах, как <body.head>
.
В некоторых плагинах Firefox Querypath я могу сбежать из точки с обратной задачей, но в библиотеке PHP Pear это не работает.
Любые идеи?
(Я ищу решение в Querypath, а не об обходных путях)
Решение
В прошлом я использовал аккуратное расширение PHP (http://us3.php.net/manual/en/book.tidy.php), чтобы очистить html/xml, прежде чем передавать его в Querypath.
XML, на который вы ссылались выше, довольно чистый, а также довольно маленький.
Если единственной проблемой являются точки в названиях элементов, предварительная обработка с регулярным выражением, вероятно, также будет работать. И это было бы самым быстрым решением. Я предполагаю, что вы могли бы сделать preg_replace('/<body\./g', '<body-', $xml)
и исправить это. (Это заменило бы body.content
с body-content
и так далее.)