Comments 19
Пока с либой не разбирался, но на всякий случай плюсанул за топик и добавил в «Избранное». Работа с XML — важная штука, хорошо, если окажется удобной. Название у либы потешное :)
звучит интересно :) попробую, спасибо.
Как раз в данный момент нужно быстро написать несколько сервисов использующих xml данные в разных форматах :)
Как раз в данный момент нужно быстро написать несколько сервисов использующих xml данные в разных форматах :)
>> сделать работу с XML комфортнее, чем позволяют стандартные средства PHP
чем SimpleXML не угодил?
чем SimpleXML не угодил?
видимо, так же, как и jQuery для Prototype.
по-моему, чем больше библиотек, тем легче трудится на благо своего пуза ;)
по-моему, чем больше библиотек, тем легче трудится на благо своего пуза ;)
Иногда он поглючивает и вообще ведет себя немножко неправильно. Недавно из за одной досадной ошибки пришлось перейти с него на DOM. Чуть менее удобнее, чуть больше кода, медленне, но словно в танке — надежно.
на bugs.php.net написали?
что вы делали?
что вы делали?
Не писал.
Рекурсивно пробегался по дереву.
Рекурсивно пробегался по дереву.
>Не писал.
зря
>Рекурсивно пробегался по дереву.
покажи в коде?
зря
>Рекурсивно пробегался по дереву.
покажи в коде?
В коде к сожелению уже не покажу, давно это было, да и при добавлении новой фукнциональности, так что даже в svn-не нету. Так что только по логам из аси :)
В целом проблема была в следующем — есть некая xml-ка, которая представляет для нас некоторые данные в виде итератора с объектами, в которых могут быть вложенные объекты, или итераторы с такими же объектами (вот такой вот забавный у нас источник данных). Надо — преобразовать все это в вид, с которым мы могли бы работать. Если точнее — в пхпшныен объекты и итераторы (которые кстати иногда могут и выглядеть совершенно по другому).
Бежим по всему этому рекурсивно, но на примерно похожем куске кода:
Но на выходе получаю мусор, начинаю разбираться, лезу внутрь, вардамплю сущность которую нужно сконвертить, и связку property => value, в итоге получаю:
сама сущность:
А при форейче по этому элементу получаем:
property:
value:
На обращение $entity->entity — ругалось, говорило, что никакого entity тут нет.
В целом проблема была в следующем — есть некая xml-ка, которая представляет для нас некоторые данные в виде итератора с объектами, в которых могут быть вложенные объекты, или итераторы с такими же объектами (вот такой вот забавный у нас источник данных). Надо — преобразовать все это в вид, с которым мы могли бы работать. Если точнее — в пхпшныен объекты и итераторы (которые кстати иногда могут и выглядеть совершенно по другому).
Бежим по всему этому рекурсивно, но на примерно похожем куске кода:
<entity> // ...куча пропертей <coordinate> <entity> <id>4544</id> <x>35</x> <y>51</y> // ... куча пропертей </entity> </coordinate> </entity>
Но на выходе получаю мусор, начинаю разбираться, лезу внутрь, вардамплю сущность которую нужно сконвертить, и связку property => value, в итоге получаю:
сама сущность:
object(SimpleXMLElement)[62] public 'id' => string '4544' (length=4) public 'x' => string '35' (length=2) public 'y' => string '51' (length=2) ...
А при форейче по этому элементу получаем:
property:
command
value:
object(SimpleXMLElement)[62] public 'id' => string '4544' (length=4) public 'x' => string '35' (length=2) public 'y' => string '51' (length=2) ...
На обращение $entity->entity — ругалось, говорило, что никакого entity тут нет.
Оу, немного ошибся… не то скопипастил. В value — идентификатор объекта был другим, в данном случае 58. В каким и был идентификатор этой структуры в общем дереве при var_dump.
нада было пробнуть такое:
должно было помочь
foreach ($entity->children() as $value) {}
должно было помочь
jQuery, qJerry, TrotoPype, TooMools, SavaJcript, BireFug, XimpleSML
я запутался… :(
я запутался… :(
Интересно, а как эта библиотека переносит неймспейсы, XML-схемы и DTD
$this->content->children('content')->children('data')->children()->text()
тупняк =)
тупняк =)
Есть ещё SimpleHTML, тоже сделана «в стиле» JQuery
Sign up to leave a comment.
qJerry: пиши меньше, делай больше. Теперь на PHP.