D
Deepan Perl XML Parser
Hi,
I am having a string say $str, the value of it is as
below:
<responseStatus>HTTP/1.1 200 OK</responseStatus>
<cookies>
<cookie name="ASPSESSIONIDSQDCBDBA" path="/" domain="www-
int.juniper.net">DOCFGJEAKNOMBLHCGEMOIMBA</cookie>
</cookies>
<headers>
<header name="Cache-control">private</header>
<header name="Content-Encoding">deflate</header>
<header name="Content-Type">text/html</header>
<header name="Date">Wed, 26 Mar 2008 04:48:16 GMT</header>
<header name="Server">Concealed by Juniper Networks Redline EX</
header>
<header name="Set-
Cookie">ASPSESSIONIDSQDCBDBA=DOCFGJEAKNOMBLHCGEMOIMBA; path=/</header>
<header name="Transfer-Encoding">chunked</header>
<header name="Vary">Accept-Encoding, User-Agent</header>
<header name="Via">1.1 sac-p-green-dx2 (Juniper Networks
Application Acceleration Platform - DX 5.1.8 0)</header>
<header name="Warning">214 www-int.juniper.net "Juniper
Networks DX Active"</header>
<header name="X-Powered-By">ASP.NET</header>
</headers>
<content>
<contentLength>27887</contentLength>
<compression>71.3</compression>
<encodingScheme>deflate</encodingScheme>
<text><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"..."http://
www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">..<html>..<head>....<title>
Intranet Home Page</title>..<script language="JavaScript" type="text/
javascript">..function clicker()..{..document.seek2.qt.value =
<mimeType>text/html</mimeType>
</content>
----------------
Now i want to get everything between "<text><![CDATA[" and "]]></
text>" [ie i need to capture the CDATA section]and i am using the
below code
if( $str =~ m#<text><!\[CDATA\[(.*)\]\]></text># )
{
print $1;
}
But not getting anything. Can anyone find out the fault in it?
I am having a string say $str, the value of it is as
below:
<responseStatus>HTTP/1.1 200 OK</responseStatus>
<cookies>
<cookie name="ASPSESSIONIDSQDCBDBA" path="/" domain="www-
int.juniper.net">DOCFGJEAKNOMBLHCGEMOIMBA</cookie>
</cookies>
<headers>
<header name="Cache-control">private</header>
<header name="Content-Encoding">deflate</header>
<header name="Content-Type">text/html</header>
<header name="Date">Wed, 26 Mar 2008 04:48:16 GMT</header>
<header name="Server">Concealed by Juniper Networks Redline EX</
header>
<header name="Set-
Cookie">ASPSESSIONIDSQDCBDBA=DOCFGJEAKNOMBLHCGEMOIMBA; path=/</header>
<header name="Transfer-Encoding">chunked</header>
<header name="Vary">Accept-Encoding, User-Agent</header>
<header name="Via">1.1 sac-p-green-dx2 (Juniper Networks
Application Acceleration Platform - DX 5.1.8 0)</header>
<header name="Warning">214 www-int.juniper.net "Juniper
Networks DX Active"</header>
<header name="X-Powered-By">ASP.NET</header>
</headers>
<content>
<contentLength>27887</contentLength>
<compression>71.3</compression>
<encodingScheme>deflate</encodingScheme>
<text><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"..."http://
www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">..<html>..<head>....<title>
Intranet Home Page</title>..<script language="JavaScript" type="text/
javascript">..function clicker()..{..document.seek2.qt.value =
]]></text>document.seek1.qt.value;..return true;..} said:..</div><!-- close Main1 -->....</body>..</html>..
<mimeType>text/html</mimeType>
</content>
----------------
Now i want to get everything between "<text><![CDATA[" and "]]></
text>" [ie i need to capture the CDATA section]and i am using the
below code
if( $str =~ m#<text><!\[CDATA\[(.*)\]\]></text># )
{
print $1;
}
But not getting anything. Can anyone find out the fault in it?