Re: Starting with XML

From: 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/>

« previous php.general (#322397) next »