|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Denis Poznyakov 2:5020/400 12 Oct 2004 15:43:59 To : Artem Chuprina Subject : Re: XML::Parser -------------------------------------------------------------------------------- > >> >> DP> мдэ, не знал что так галимо распарсить можно, или мот у создателя > >> DP> такого > >> >> DP> стиля такое хитрое представление о дереве .... тут массив > DP> массивов > >> >> DP> получается и нет привязки к названиям параметрам и тп корректней > >> DP> всетаки > >> >> DP> через дампер делать > >> >> > >> >> Гм. А сэр вообще не в курсе, что дерево _в норме_ представляют как > >> >> список, некоторые элементы которого в свою очередь могут быть > DP> списками, > >> >> и т.д.? > >> > >> DP> Цитата: "некоторые элементы которого в свою очередь могут быть > DP> списками," > >> > >> DP> Артем, в том то и дело что если бы некоторые ...там все списками! > >> > >> Hу и что? Ты вообще, что ли, за свою жизнь ни одной умной книжки не > >> прочел? Где не список - там лист дерева. Где список - там, > >> соответственно, не лист. Возможны вариации (для XML, например, будет > >> резонно, если первым элементом списка будет хэш атрибутов). > > DP> не, ты не понял, я вот что имею ввиду: > > DP> удобно: > DP> [{name=>value,param=>value},{name=>value},...] > > DP> не удобно: > DP> [[хname,value,param,value],name,value,name,...] > > Я как-то не очень верю в то, что оно устроено именно так. Во всяком > случае, эти две структуры отчетливо не эквивалентны. Приведи пример > того, как оно устроено на самом деле. Hа примере, скажем, > > <test xmlns="something"><subtest id="15">body0</subtest><subtest1/>body1</test> вот из perldoc XML::Parser ================ Tree Parse will return a parse tree for the document. Each node in the tree takes the form of a tag, content pair. Text nodes are represented with a pseudo-tag of "0" and the string that is their content. For elements, the content is an array reference. The first item in the array is a (possibly empty) hash reference containing attributes. The remainder of the array is a sequence of tag-content pairs representing the content of the element. So for example the result of parsing: <foo><head id="a">Hello <em>there</em></head><bar>Howdy<ref/></bar>do</foo> would be: Tag Content ================================================================== [foo, [{}, head, [{id => "a"}, 0, "Hello ", em, [{}, 0, "there"]], bar, [ {}, 0, "Howdy", ref, [{}]], 0, "do" ] ] ================ --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/657759a242f4.html, оценка из 5, голосов 10
|