Re: Starting with XML
| From: | leam hall | Date: | Thu, 31 Oct 2013 16:14:28 +0000 |
| Subject: | Re: Starting with XML | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-322397@lists.php.net to get a copy of this message | ||
Stuart, thanks for the help so far. I'm diving into the next issue.
#####
Here's a bit from var_dump:
[Group] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => V-756
)
[title] => IDTAG111223
[description] => <GroupDescription></GroupDescription>
[Rule] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => Local_tag_rule
[severity] => medium
[weight] => 10.0
)
#####
The line that fails:
$ruleAttributes =
simplexml_load_string($group->Rule->attributes['severity']);
#####
However, this works:
foreach($group->Rule->attributes() as $k => $v){
echo $k . " => " . $v;
}
#####
The issue is that I just need one value out of the attributes array. I do
not know the purpose of the "@" in [@attributes]
Suggestions?
Leam
On Wed, Oct 30, 2013 at 9:53 AM, Stuart Dallas <stuart@3ft9.com> wrote:
> On 30 Oct 2013, at 13:43, leam hall <leamhall@gmail.com> wrote:
>
> > I'm trying to work on an XML document and turn it into something I can
> put
> > into a database or array. Am getting stuck as I try to learn the PHP
> stuff
> > needed for XML.
> >
> > What I have so far is just:
> >
> > $xml = simplexml_load_file('my-file.xml');
> >
> > $status = $xml->status;
> > echo "status is $status.\n";
> >
> > $href = $xml->reference->href;
> > echo "href is $href.\n";
> >
> > Which gives:
> >
> > status is accepted.
> > href is .
> >
> >
> > If I do:
> >
> > print_r($xml);
> >
> > It starts out with:
> >
> > SimpleXMLElement Object
> > (
> > [@attributes] => Array
> > (
> > [id] => My_Info
> > )
> >
> > [status] => accepted
> > [title] => Nice long string title
> > [reference] => SimpleXMLElement Object
> > (
> > [@attributes] => Array
> > (
> > [href] => http://www.example.com
> > )
> >
> > )
> >
> >
> >
> > How do I reference the nested objects? The file is fairly long and seems
> > deeply nested.
>
> The value you’re trying to retrieve is an attribute, and can be accessed
> using the attributes method:
> http://php.net/simplexmlelement.attributes
>
> -Stuart
>
> --
> Stuart Dallas
> 3ft9 Ltd
> http://3ft9.com/
--
Mind on a Mission <http://leamhall.blogspot.com/>