Запрос объекта SimpleXML с помощью селекторов CSS вместо XPath - PullRequest
1 голос
/ 26 августа 2010

Я использую SimpleXML для загрузки и анализа XML-документа с помощью PHP.

Я не слишком знаком с XPath и предпочел бы использовать селекторы CSS для его анализа.Какие у меня варианты?Есть ли что-то предварительно построенное для SimpleXML, или я должен использовать что-то совсем другое?

Ответы [ 2 ]

4 голосов
/ 26 августа 2010

SimpleXML не поддерживает селекторы CSS, но я знаю, что некоторые библиотеки PHP и Javascript могут конвертировать селектор CSS в запрос XPath. IIRC, есть библиотека PHP, которая имитирует селекторы jQuery, но я не могу вспомнить ее название. Надеюсь, это положит начало чьей-то памяти.


Оказывается, библиотека, о которой я думал, не поддерживает селекторы CSS, но хорошая новость заключается в том, что Zend Framework имеет переводчик CSS-to-XPath:

include 'Zend/Dom/Query/Css2Xpath.php';  

$xpath = Zend_Dom_Query_Css2Xpath::transform('div.class span');

$mySimpleXMLElement->xpath($xpath);
2 голосов
/ 04 мая 2011

Переводчик Zend CSS-to-XPath не является полным доказательством. Он не работает для селекторов индексов - что-то вроде tr: eq (1) не будет преобразовано в tr [2]

...