Разбор проблемного XML в Querypath (точки в элементах) - PullRequest
0 голосов
/ 15 июня 2011

Я пытаюсь проанализировать документ NewsML (http://www.iptc.org/std/NewsML-G2/2.7/examples/LISTING2_NewsML-G2_Complete.xml) с запросным путем). Но у меня возникают проблемы с точками в некоторых элементах, таких как <body.head>.

В некоторых плагинах запроса firefox я могу выйтиточка с обратной косой чертой, но в библиотеке php pear это не работает.

Есть идеи?

(я ищу решение в Querypath, а не обходные пути)

1 Ответ

0 голосов
/ 23 мая 2012

В прошлом я использовал расширение Tidy PHP (http://us3.php.net/manual/en/book.tidy.php) для очистки HTML / XML перед передачей его в QueryPath.

XML, на который вы ссылались выше, довольно чистый, а также довольно маленький.

Если единственной проблемой являются точки в именах элементов, то, вероятно, сработает и предварительная обработка с помощью регулярного выражения. И это будет самое быстрое решение. Я предполагаю, что вы могли бы сделать preg_replace('/<body\./g', '<body-', $xml) и получитьисправлено. (Это заменит body.content на body-content и т. д.)

...