Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как удобнее обрабатывать xml-данные?


Автор: Masted 26.10.2003, 22:53
Как удобнее обрабатывать xml-данные? И может быть пхп для этого - далеко не идиальное решение?
Идея такая. Есть очень многомерная xml-структура. Нужно её взять, обработать и сохранить обратно. Я смотрел примеры по обработке xml с помощью ф-ии xml_parse. Этот пример позволяет обработать последовательно всё дерево, но доступ к информации таким образом получается очень неудобным. К тому же, после этого её нужно переводить обратно в xml... Кроме того Я мало рабтал с пхп-классами и плохо представляю как такое многомерное дерево загнять в объект... если я правильно выражаюсь.
Если кто-нибудьть подскажет, как обработать вот такое дерево, изменяя пару-тройку атрибутов или значений, а потом перевести его обратно в xml, то буду очень перезнателен.
Код

<aa>
 <bbbbb name="asd">
   <ccccc x="10" y="10">
     <ddddd amount="120"/>
     <ddddd amount="50"/>
   </ccccc>
 </bbbbb>
</aa>
<aa name="123">
asdasdsdasd
</aa>

Автор: IZ@TOP 27.10.2003, 01:50
Ну для начала тебе нужно понять как вообще обрабатывается XML в РНР! Поэксперементируй, больше ни чего сказть не могу, к сожалению а РНР для рабрты с XML не очень то и много всего ... я сам сталкивался с этой проблемой, и я так думаю что подобный класс будет иметь гиганскую структуру, и очень сложным - это факт.
А что ты понимаешь под словами обработать и изменить ? Это наверное получится что то в роде:
Код


$xml = Array (
   [aa] => Array (
       [bbbbb] => Array (
           [attribute] = > Array (
               [name] => "asd"
           ),
           [ccccc] => Array (
               [attribute] => Array (
                   [x] => "10",
                   [y] => "10"
               ),
           [0] = Array (
               [ddddd] => Array (
                   [attribute] = Array (
                       [amount] = "120"
                   )
               )
           ),
           [1] = Array (
               [ddddd] => Array (
                   [attribute] = Array (
                       [amount] = "120"
                   )
               )
           )
       )
   )
);


Ну и тому подобное ... это же жутко выглядит ... я себе по другому не представляю ... и как это все обработать что бы записать обратно sad.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)