[Bangalore-pm] Need help in XML Parsing..

prashant tyagi prashant.2006tyagi at gmail.com
Thu Sep 12 05:12:31 PDT 2013


Hi,

I am facing issue while reading an xml and updating to diff xml.
The thing is both files is in diff format. So I am not aware if XML
transformation is feasible.


here is my attempt--

my $parser = XML::LibXML->new();
$doc = $parser->parse_file("input.xml");
my $appName = $doc->findvalue(q|@name|);
 So I have slurp whole file into $doc. Same way I have opened output.xml
(complex one ) and did this way.

 use XML::LibXML;
 my $parser = XML::LibXML->new();
 my $doc    = $parser->parse_file("output.xml");

  my $query  = "//anonotaion";

  my($node)  = $doc->findnodes($query);
  $node->setData('$appname');

  print $doc->toString;

 output.xml format is completely different from input.xml. I would like to
know if there is any good way to achieve this.
fraction of xmls is --

__input.xml__

<appliance long_name ="my app name" revision="10.58.226.13">
<desciption_section>
<annotation>template</annotation>
<add_eula enabled="1">
<description>EULA LICENSE AGREEMENT</description>
</add_eula>
<welcome_screen enabled="1">welcome to my app </welcome_screen>
</desciption_section>
.....
 __output.xml__

<?xml version="1.0" encoding="utf-8"?>
<ovf:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:vadk="http://www.vmware.com/schema/vadk" xmlns:ovf="
http://schemas.dmtf.org/ovf/envelope/1" xmlns:vssd="
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
xmlns:rasd="
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:vsm="
http://www.vmware.com/schema/vServiceManager" xsi:schemaLocation="
http://schemas.dmtf.org/ovf/envelope/1/opt/vmware/etc/build/schemas/vadk.xsd"
ovf:version="0.7.0"
vadk:version="2.6.0.0">
    <References>
        <File ovf:href="system.vmdk" ovf:id="system.vmdk_id"/>
    </References>
<!--
        The Annotation element of the AnnotationSection_Type is the text
        that will be presented as the Description of the VM.
    -->
    <Section xsi:type="ovf:AnnotationSection_Type">
        <Info/>
        <Annotation>new app</Annotation>
    </Section>
    <Section xsi:type="ovf:ProductSection_Type" ovf:required="false">
        <Info>branding information</Info>
        <Product>OvMabk</Product>
        <Vendor></Vendor>

....

Thanks for the help..

Prashant
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/bangalore-pm/attachments/20130912/185e36c5/attachment.html>


More information about the Bangalore-pm mailing list