Re: XML::Simple does not pick up multiple entries into array
- From: Jim Gibson <jimsgibson@xxxxxxxxx>
- Date: Thu, 10 Apr 2008 17:00:43 -0700
In article
<98e232e6-a7d8-4e13-b456-9fc0052b2ba0@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
<"jck000@xxxxxxxxx"> wrote:
I'm parsing data and one of there are multiple EMBEDDED_FILE tags.
I've set it to put these into an array as well as a hash. However,
only one entry appears
$ref = XMLin($xml_src,
ForceArray => [ 'EMBEDDED_FILE' ],
SuppressEmpty => '');
This is the result. I can view the source and there are multiple
EMBEDDED_FILE tags. So, <EMBEDDED_FILE _type='HTML'>
<DOCUMENT>
<![CDATA[<!DOCTYPEML....>
</DOCUMENT>
</EMBEDDED_FILE>
<EMBEDDED_FILE _type='PDF' EncodingType='Base64'>
<DOCUMENT>
<![CDATA[JVBERi0xLj........>
</DOCUMENT>
</EMBEDDED_FILE>
This is the result:
'EMBEDDED_FILE' => [
{
'DOCUMENT' => '',
'_Type' => 'HTML'
}
],
When there is a single entry usually PDF, I can decode it properly.
Is there an option to force it to correctly interpret the two entries?
Thanks
Jack
I am no XML expert, but well-formed XML documents should have a single,
all-enclosing tag at the beginning and end, and yours doesn't. You can
try adding them:
$xml_src = "<top>$xml_src</top>";
If you can't do that, you can try other XML parsers that might work
differently from XML::Simple, but you really should be giving
well-formed input to any XML Parser.
--
Jim Gibson
Posted Via Usenet.com Premium Usenet Newsgroup Services
----------------------------------------------------------
http://www.usenet.com
.
- References:
- XML::Simple does not pick up multiple entries into array
- From: jck000@xxxxxxxxx
- XML::Simple does not pick up multiple entries into array
- Prev by Date: XML::Simple does not pick up multiple entries into array
- Next by Date: ANNOUNCE: Text::CSV_XS 0.41
- Previous by thread: XML::Simple does not pick up multiple entries into array
- Next by thread: ANNOUNCE: Text::CSV_XS 0.41
- Index(es):