cancel
Showing results for 
Search instead for 
Did you mean: 

Convert xml attribute to xml element in Snaplogic

Dhivya_Aroma1
New Contributor III

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

1 ACCEPTED SOLUTION

koryknick
Employee
Employee

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)

View solution in original post

6 REPLIES 6

koryknick
Employee
Employee

I do not see your xml attached to your post.

Dhivya_Aroma1
New Contributor III

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>

koryknick
Employee
Employee

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.