Re: problem with PHP simplexml and doxygen generated XML
| From: | hessiess at hessiess dot com | Date: | Sun, 05 Apr 2009 19:19:24 +0000 |
| Subject: | Re: problem with PHP simplexml and doxygen generated XML | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-291103@lists.php.net to get a copy of this message | ||
> I HAVE THE SAME PROBLEM, PLEASE HOW HAVE YOU DONE IT
>
> On Sun, Apr 5, 2009 at 4:08 PM, <hessiess@hessiess.com> wrote:
>
>> >
>> >
>> > On Apr 3, 2009, at 17:52, hessiess@hessiess.com wrote:
>> >
>> >> I have bean trying to right a PHP script to generate XHTML code from
>> >> the
>> >> class documentation xml files created by Doxygen(the HTML it outputs
>> >> is
>> >> invalid, messy and virtually imposable to integrate into another web
>> >> page). One thing has bean causing problems, the tags which start
>> >> with `@',
>> >> for example:
>> >>
>> >> Code:
>> >> SimpleXMLElement Object
>> >> (
>> >> [@attributes] => Array
>> >> (
>> >> [kind] => function
>> >> [id] => classhello_1f06929bd13d07b414a8be07c6db88074
>> >> [prot] => private
>> >> [static] => no
>> >> [const] => no
>> >> [explicit] => no
>> >> [inline] => yes
>> >> [virt] => non-virtual
>> >> )
>> >> ...
>> >>
>> >> I cannot seam to find a way to access these with simplexml, the
>> >> following
>> >> code generates a syntax error for example.
>> >>
>> >> Code:
>> >>
>> >> print_r($xml->compounddef->sectiondef->memberdef[1]->@attributes);
>> >>
>> >> Any advice would be gratily appreciated.
>> >>
>> >>
>> >> --
>> >> PHP General Mailing List (http://www.php.net/)
>> >> To unsubscribe, visit: http://www.php.net/unsub.php
>> >>
>> >>
>> >
>> > What about first stripping out the @ characters with str_replace and
>> > then attempting to load the XML? Maybe run it thru a few to do the
>> > best possible clean up?
>> >
>> > Bastien
>> >
>>
>> Found out what I was doing wrong, the problem has nothing to do with the
>> XML code, tag attributes are put into the @attributes section, which
>> must
>> be accsessed with the attributes() function.
>>
>>
>> --
>> PHP General Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>
>
>
> --
> Best Wishes
> Andrew Williams
>
Just use the attributes() function, for example:
$xml->compounddef->sectiondef->memberdef[0]->attributes()->kind
Also, no need to shout ;)