[SOLVED] DOM XML php code

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
User avatar
dimitris
Forum Contributor
Posts: 110
Joined: Wed Jan 14, 2004 3:47 am
Location: Athens, Greece

[SOLVED] DOM XML php code

Post by dimitris »

I write myself code for populating an xml document with records:

My xml file is:

Code: Select all

<root>
<Library>
<Creator>aaaaaaaaaaaaaaaaaa</Creator>
<Title>aaaaaaaaaaaaaaaaaaaaa</Title>
<Description>aaaaaaaaaaaaaaaaaaaaaa</Description>
<Description.audience>Pregraduate</Description.audience>
<Description.contents>aaaaaaaaaaaaaaaaaaaaaaaaaaaa</Description.contents>
<Description.respsite>akm</Description.respsite>
<Description.url>http://www.in.gr</Description.url>
<Date.Created>28-02-2005 17:44:36</Date.Created>
<Date.Modified>28-02-2005 17:44:36</Date.Modified>
</Library>

<Library>
<Creator>bbbbbbbbbbb</Creator>
<Title>bbbbbbbbbbbbbbbb</Title>
<Description>aaaaaaaaaaaaaaaaaaaaaa</Description>
<Description.audience>Pregraduate</Description.audience>
<Description.contents>aaaaaaaaaaaaaaaaaaaaaaaaaaaa</Description.contents>
<Description.respsite>akm</Description.respsite>
<Description.url>http://www.in.gr</Description.url>
<Date.Created>28-02-2005 17:48:52</Date.Created>
<Date.Modified>28-02-2005 17:48:52</Date.Modified>
</Library>
</root>
i try to select its titles but i can't my code is

html...
<select name="select" class="style1">

Code: Select all

<?php
				



//retrieve the second element with name employee

//$root = $doc->getElementsByTagName('root')->item(0);



				
				$doc = domxml_open_file('lessons.xml');
				//$doc->validateOnParse = true;
				$xpath = $doc->xpath_new_context();
				$a = $xpath->xpath_eval("///title");

				
				while(isset($a&#1111;$i]))&#123;					
					echo '<option value="'.$a&#1111;$i].'">'.$i.'. '.$a&#1111;$i].'</option>';					
				&#125;
				
				?>
</select>
...html


But my code is not right as it produces :
XPathObject Object ( [type] => 1 [nodeset] => Array ( ) )

Can anyone help me please?
Thanx a lot!
Last edited by dimitris on Wed Mar 02, 2005 7:31 pm, edited 1 time in total.
User avatar
dimitris
Forum Contributor
Posts: 110
Joined: Wed Jan 14, 2004 3:47 am
Location: Athens, Greece

Re: DOM XML php code & Sollution

Post by dimitris »

OK guys i found out that by writing:

Code: Select all

$dom = domxml_open_file('lessons.xml');
$doc = $dom -> document_element();
$a = $doc->get_elements_by_tagname("Title");

for ($i = 0; $i<count($a); $i++) &#123;
$node = $a&#1111;$i];
echo '<option value="'.$node->get_content().'">'.$node->get_content().'</option>';
&#125;
i get what i want;The contents of each

Code: Select all

<title></title>
Post Reply