Home > Archive > PHP Programming > August 2005 > modify xml file php script
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
modify xml file php script
|
|
| jp.delatorre@gmail.com 2005-08-31, 3:57 am |
| how to create script that modify xml file
sample xml file:
<root>
<parent name="a" id="1">
<child name="a.a" id="1.1" />
<child name="a.b" id="1.2" />
<child name="a.c" id="1.3" />
</parent>
<parent name="b" id="2">
<child name="b.a" id="2.1" />
</parent>
<parent name="c" id="3">
<child name="c.a" id="3.1" />
<child name="c.b" id="3.2" />
</parent>
</root>
php script should be able to modify the xml file. it should be able to
insert a parent element say between parent A and parent B. the id of
the new parent element should be parent B with its child respectively.
the parent elements below the new element should adjust the ids. in the
example above, parent B id should be 3 and its child id should be 3.1.
same goes to parent C and its childs.
result would be:
<root>
<parent name="a" id="1">
<child name="a.a" id="1.1" />
<child name="a.b" id="1.2" />
<child name="a.c" id="1.3" />
</parent>
<parent name="newparent" id="2">
<child name="newparent.a" id="2.1" />
<child name="newparent.b" id="2.2" />
</parent>
<parent name="b" id="3">
<child name="b.a" id="3.1" />
</parent>
<parent name="c" id="4">
<child name="c.a" id="4.1" />
<child name="c.b" id="4.2" />
</parent>
</root>
any comments on this...
| |
| Wolfgang Forstmeier 2005-08-31, 3:57 am |
| Hi,
DOM should be your friend, for Documentation read this:
http://de2.php.net/manual/en/ref.dom.php
Have fun ..
Wolfgang
jp.delatorre@gmail.com wrote:
> how to create script that modify xml file
>
> sample xml file:
>
> <root>
> <parent name="a" id="1">
> <child name="a.a" id="1.1" />
> <child name="a.b" id="1.2" />
> <child name="a.c" id="1.3" />
> </parent>
> <parent name="b" id="2">
> <child name="b.a" id="2.1" />
> </parent>
> <parent name="c" id="3">
> <child name="c.a" id="3.1" />
> <child name="c.b" id="3.2" />
> </parent>
> </root>
>
> php script should be able to modify the xml file. it should be able to
> insert a parent element say between parent A and parent B. the id of
> the new parent element should be parent B with its child respectively.
> the parent elements below the new element should adjust the ids. in the
> example above, parent B id should be 3 and its child id should be 3.1.
> same goes to parent C and its childs.
> result would be:
> <root>
> <parent name="a" id="1">
> <child name="a.a" id="1.1" />
> <child name="a.b" id="1.2" />
> <child name="a.c" id="1.3" />
> </parent>
> <parent name="newparent" id="2">
> <child name="newparent.a" id="2.1" />
> <child name="newparent.b" id="2.2" />
> </parent>
> <parent name="b" id="3">
> <child name="b.a" id="3.1" />
> </parent>
> <parent name="c" id="4">
> <child name="c.a" id="4.1" />
> <child name="c.b" id="4.2" />
> </parent>
> </root>
>
> any comments on this...
>
| |
| dem0o8 2005-08-31, 3:57 am |
| actually, im more concern about the logic behind of the script. how do
you make the id update in cascading manner. anyway, thanks for the reply
| |
| Wolfgang Forstmeier 2005-08-31, 3:57 am |
| Hm ..
this maybe an answer but there could be better solutions that my one :-)
<?php
// ... fetch your id with DOM
$id_array = explode(".", $id);
// id[0] == first number of ID
// id[1] == second number of ID
// count up second one
id[1]++;
// connect id that you have back x.x
$id = implode(".",$id[0].$id[1]);
// write id back to XML (using DOM) ...
?>
dem0o8 wrote:
> actually, im more concern about the logic behind of the script. how do
> you make the id update in cascading manner. anyway, thanks for the reply
>
| |
| dem0o8 2005-08-31, 6:56 pm |
| i guess that will work for me though i haven't tried it yet. thanks a
lot wolfgang.
|
|
|
|
|