For Programmers: Free Programming Magazines  


Home > Archive > PHP Programming > May 2005 > read and edit xml with PHP









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 read and edit xml with PHP
John Gauger

2005-05-24, 3:55 am

Hi all,
Thanks in advance for any help that you can give. I'm trying to write
some php that will read in some xml and then allow me to modify the tag

and write back out to xml.


In the following example, I want to read in 'text_for_paragraph_1',
then allow it to be viewed, edited, and saved back to the xml... I
have absolutely no clue even where to start...any help at all would be
more than appreciated!!


thanks,
john


<?xml version=3D"1.0" standalone=3D"yes"?>
<module name=3D"GS02" course=3D"Demo">
<page>
<Name><![CDATA[ c0300010 (Ref Num 772) ]]></Name>

<Screen_Type><![CDATA[Text_wit=ADh_Image]]></Screen_Type>
<Description><![CDATA[   ]]></Description>
<Script>
<Text_for_Paragraph_1><![CDATA=AD[ Welcome to
lesson 1 of module 2.
  In this lesson, you will learn about the emerging trends in the
IT marketplace. ]]></Text_for_Paragraph_1>
</Script>=20
</page>=20
</module

Oli Filth

2005-05-24, 3:55 am

John Gauger wrote:
> Hi all,
> Thanks in advance for any help that you can give. I'm trying to

write
> some php that will read in some xml and then allow me to modify the

tag
>
> and write back out to xml.
>
>
> In the following example, I want to read in 'text_for_paragraph_1',
> then allow it to be viewed, edited, and saved back to the xml... I
> have absolutely no clue even where to start...any help at all would

be
> more than appreciated!!
>
>
> thanks,
> john
>
>
> <?xml version=3D"1.0" standalone=3D"yes"?>
> <module name=3D"GS02" course=3D"Demo">
> <page>
> <Name><![CDATA[ c0300010 (Ref Num 772) ]]></Name>
>
> <Screen_Type><![CDATA[Text_wit=ADh_Image]]></Screen_Type>
> <Description><![CDATA[   ]]></Description>
> <Script>
> <Text_for_Paragraph_1><![CDATA=AD[ Welcome to
> lesson 1 of module 2.
>   In this lesson, you will learn about the emerging trends in

the
> IT marketplace. ]]></Text_for_Paragraph_1>
> </Script>
> </page>
> </module


Some possible approaches (visit the PHP manual at http://php.net/manual
for more details on these functions, etc.):

* preg_match() and preg_replace(). Devise a regular expression that
gives a hit on <Text_for_Paragraph_1>...</Text_for_Paragraph_1>.

* Use an XSLT transform (see the PHP XSLT functions).

* Load the whole script in using the XML DOM functions, and the find
and replace the contents of the relevant element.

* Save the XML file as some sort of template, with something like
{PARAGRAPH_TEXT} in the right place. Then do a preg_replace() on this.


P=2ES. Are you aware that you don't have to escape *all* character data
with <![CDATA[ ... ]]>? This is only necessary if you want to express
data that would otherwise look like XML.

--=20
Oli

teemu.valimaki@gmail.com

2005-05-24, 8:56 am

Hi John

There's probably more than one library made for PHP that takes care of
XML reading/writing, one is below.

http://phpxmlclasses.sourceforge.net/

Teemu Välimäki

2005-05-26, 3:56 am

http://minixml.psychogenic.com/

seems to be even better.

Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com