I don't think it is valid to have an opening tag and a closing tag with
nothing in between. So an initial <or> and a final </or>, as you recall
it, should become <or/>.
Second, I'm not sure I understand what you want to accomplish. From the
example document you added is this the result you expect:
<And>
<PropertyIsEqualTo>
<PropertyName>genus</PropertyName>
<Literal>ontophaugs332</Literal>
</PropertyIsEqualTo>
<Or/>
<Or/>
</And>
Regards
Jonas
On Tue, 2007-11-20 at 10:27 -0800, pere roca wrote:
> please, I need some help with php DOM, for me it's becoming a hell!
>
> After trying other methods (check message from 19th november, called "php
> DOM question"), I'm getting a little more success to manipulate XML.
>
> From the code you can see below you generate this xml. Now I just want to
> keep only the initial <Or> and the final </Or>. How can I access and delete
> the other (the "between" tags)?
> I suppose there is no way to create an initial <Or> without the associated
> </Or>.
> Thanks a lot,
>
> Pere
>
> This is the WRONG XML generated from code.
> ...
> <And>
>
> <PropertyIsEqualTo>
> <PropertyName>genus</PropertyName>
> <Literal>ontophaugs332</Literal>
> </PropertyIsEqualTo>
>
> <Or>
>
> <PropertyIsEqualTo>
> <PropertyName>genus</PropertyName>
> <Literal>copris</Literal>
> </PropertyIsEqualTo>
> </Or>
> <Or>
>
> <PropertyIsEqualTo>
> <PropertyName>genus</PropertyName>
> <Literal>copris2</Literal>
> </PropertyIsEqualTo>
> </Or>
> </And>
>
> <?php
> $species=array('ontophaugs332','copris','copris2');
> $dom = new DOMDocument;
> //XML we will insert the data to
> $dom -> load('edit_iberia3.xml');
>
>
> $count=count($species);
>
> foreach ($species as $sp=>$value) {
> //we pass parameters of the array
>
> $where_to_insert= $dom->getElementsByTagName('And')->item(0);
>
> $child = $dom->createElement('Or');
> $or=$where_to_insert->appendChild($child);
>
> $child = $dom->createElement('PropertyIsEqualTo');
> $first=$or->appendChild($child);
>
> $child2 = $dom->createElement('PropertyName');
> $first->appendChild($child2);
>
> $child3 = $dom->createElement('Literal');
> $first->appendChild($child3);
>
> //inserting the array data
> $values = $dom->createTextNode($value);
> $values = $child3->appendChild($values);
> }
>
> echo $dom->save(nou_iberia);
> ?>
> --
> View this message in context:
> http://www.nabble.com/manipulating-XML-via-php-DOM-tf4845510.html#a13862945
> Sent from the PHP - General mailing list archive at Nabble.com.
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php