Jump to content

Trying to get property of non-object / simplexml / foreach = failed


Death_Octimus

Recommended Posts

yo going mad trying to get this simple bit of code to work but its skipping the first element!

 

keeping giving out

 

"Notice: Trying to get property of non-object in C:\xampp\htdocs\1985\bunker\index.php on line 15"

 

even tried cheating with

echo display("name","-1");

but it cuts out last element  :confused:

 

xml file

<catalog>

<module>
  <name>First</name>
  <size>1x1</size>
  <description>Floor Tile</description>
  <iscorner>0</iscorner>
  <isstraight>0</isstraight>
  <isdoorframe>0</isdoorframe>
  <addons>0</addons>
  <normalmap>0</normalmap>
  <texturemap>0</texturemap>
  <uv>0</uv>
  <image>null</image>	
</module>

</catalog>

 

php file

<?php 

//load up XML
$xmldata = simplexml_load_file('data.xml');

//Check for error
if ($xmldata == true) {

function display ($input, $n) {		

	global $xmldata;

	foreach ($xmldata as $xmldata["module"] => $key) {

	echo $xmldata->module[$n]->$input . "<br />";
	$n++;

	}
}

} else {
die("aghhh error XML missing or unreadable!");
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Bunker Catalog</title>
</head>

<body>
<?php

echo display("name","0");

?>
</body>
</html>

 

any help !

Link to comment
Share on other sites

foreach ($xmldata as $xmldata["module"] => $key) {

 

You shouldn't be using $xmldata["module"] here - it should be a fresh variable, such as $module.  I don't know if that's the cause of the problem but fixing that would be a good start.  If you don't use the key at all (I'm talking about the array key named $xmldata["module"], not the $key variable) then you can just leave it out and do:

 

foreach ($xmldata as $key) {

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.