Convert xml attribute to xml element in Snaplogic

Team,

I am looking for a solution in snaplogic to convert the xml attribute to xml element.

My xml looks like this,

Bloodroot Columbine

Thanks,
Dhivya Aroma

I do not see your xml attached to your post.

Sorry. Only values are pasted and not the tags.

<catalog>
<plant botanical="Sanguinaria canadensis" zone="4" light="Mostly Shady">Bloodroot</plant>
<plant botanical="Aquilegia canadensis" zone="3" light="Mostly Shady">Columbine</plant>
</catalog>

Thank you for providing your input. Can you also provide an example of your desired output?

This is the expected result

<catalog>
    <plant>
        <botanical>Sanguinaria canadensis</botanical>
        <zone>4</zone>
        <light>Mostly Shady</light>
        <plantValue>Bloodroot</plantValue>
    </plant>
    <plant>
        <botanical>Aquilegia canadensis</botanical>
        <zone>3</zone>
        <light>Mostly Shady</light>
        <plantValue>Columbine</plantValue>
    </plant>
</catalog>

Once all the attributes are converted to element the final value of plant (i.e., Columbine) needs the new tag name, like here, I have provided plantValue.

Attached is an example pipeline. Note that you will need to extend the XSD defined for the XML Formatter, but this should solve this request.

Example_XML_attributes_to_elements_2020_06_29.slp (7.8 KB)

Note that you will need to rename the following attachments to remove the “.txt” extension - this was done just so I could upload.
catalog_with_attributes.xsd.txt (762 Bytes) catalog_with_attributes.xml.txt (201 Bytes)

2 Likes

Hi KoryKnick,

Thanks for the solution. This worked. I understand that xsd is mandatory for the transformation.

Regards,
Dhivya.