XML to CSV specific

Hi ,

Please any one to help on ,extract this xml code into csv columns list.

<SOURCEFIELD BUSINESSNAME ="" DATATYPE ="date" DESCRIPTION ="" FIELDNUMBER ="1" 
FIELDPROPERTY ="0" FIELDTYPE ="ELEMITEM" HIDDEN ="NO" KEYTYPE ="NOT A KEY" LENGTH ="19" 
LEVEL ="0" NAME ="BUSINESS_DATE" NULLABLE ="NULL" OCCURS ="0" OFFSET ="0" PHYSICALLENGTH ="19" 
PHYSICALOFFSET ="0" PICTURETEXT ="" PRECISION ="19" SCALE ="0" USAGE_FLAGS =""/>
        

Regards,
MR

What was the result when you searched our extensive database for answers to your question?

Google Search Results for xml to csv | The UNIX and Linux Forums

Did you find any post useful? If so, which one?

The following XSLT stylesheet will transform your XML into CSV:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="text" encoding="iso-8859-1"/>

<xsl:strip-space elements="*" />

  <xsl:template match="*">
     <xsl:copy>
        <xsl:for-each select="@*">
           <xsl:if test="position() != last()"> "<xsl:value-of select="normalize-space(.)"/>",</xsl:if>
           <xsl:if test="position() = last()">"<xsl:value-of select="normalize-space(.)"/>"<xsl:text>
</xsl:text>
      </xsl:if>
        </xsl:for-each>
        <xsl:apply-templates />
     </xsl:copy>
  </xsl:template>

</xsl:stylesheet>

Here is the output from the transformation

 "", "date", "", "1", "0", "ELEMITEM", "NO", "NOT A KEY", "19", "0", "BUSINESS_DATE", "NULL", "0", "0", "19", "0", "", "19", "0",""

Hi
Thanks for your reply,How this XSLT stylesheet will transform below XML into CSV:


<?xml version="1.0" encoding="01"?>
<!DOCTYPE SYSTEM "mart.dtd">
<POWERMART CREATION_DATE="09/19/2009 09:16:24" REPOSITORY_VERSION="9.88">
<REPOSITORY NAME="SEV" VERSION="179" CODEPAGE="Latin1" DATABASETYPE="Oracle">
<FOLDER NAME="xx" GROUP="" OWNER="xx1" SHARED="NOTSHARED" DESCRIPTION="" PERMISSIONS="rwx------" UUID="f2708d6c02d4">
    <SOURCE BUSINESSNAME ="" DATABASETYPE ="Oracle" DBDNAME ="DB2" DESCRIPTION ="" NAME ="TARSAN_NEW_REF_DATA" OBJECTVERSION ="1" OWNERNAME ="DEV" VERSIONNUMBER ="1">
   <SOURCEFIELD BUSINESSNAME ="" DATATYPE ="date" DESCRIPTION ="" FIELDNUMBER ="1" FIELDPROPERTY ="0" FIELDTYPE ="ELEMITEM" HIDDEN ="NO" KEYTYPE ="NOT A KEY" LENGTH ="19" LEVEL ="0" NAME ="BUSINESS_DATE" NULLABLE ="NULL" OCCURS ="0" OFFSET ="0" PHYSICALLENGTH ="19" PHYSICALOFFSET ="0" PICTURETEXT ="" PRECISION ="19" SCALE ="0" USAGE_FLAGS =""/>
    </SOURCE>
</FOLDER>
</REPOSITORY>
</MART>

Regards,
MR

You need to modify the provided stylesheet to suit your new XML document to apply the template to "//SOURCEFIELD" instead of "*" (which denotes all elements) if that is still the element you want to convert to CSV.

In addition, your XML document is riddled with errors. There is no such encoding as "01". POWERMART and /MART do not match, etc.