Subject: Re: [xsl] XML To CSV From: "Bryce K. Nielsen" <bryce@xxxxxxxxxxx> Date: Thu, 29 Jul 2004 02:44:06 -0600 |
Andrew, It's your xsl:for-each loop that is causing it to grab only the direct children of Account, and not the children of the children. Probably would be better to just make a massive, recursive template. And, since XML-to-CSV falls in the realm of xmlLinguist, I'm also going to suggest taking a look that product at http://www.xmllinguist.com . Mainly depends on your production environments (i.e. will this be run on Windows or not), xmlLinguist would solve your problem in a snap. It's a simple-to-use, bi-directional Text-to-XML translator that supports hierarchical structures, such as the Name nested beneath Account. Download the trial, see if it's a match or not for you. HTH, Bryce K. Nielsen SysOnyx, Inc. (www.sysonyx.com) Makers of xmlLinguist, the Text-to-XML Translator http://www.sysonyx.com/products/xmllinguist ----- Original Message ----- From: <ashushujev@xxxxxxxxxxxx> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Sent: Thursday, July 29, 2004 2:08 AM Subject: [xsl] XML To CSV > > Hi, > > I have an XML stream that I would like to convert to CSV file thru XSL > transformation. I use the following stylesheet, but the problem is it > only selects top elements within an 'Account' node and does not process > elements for 'Name' element. > > Stylesheet: > <?xml version="1.0"?> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="1.0"> > <xsl:output method="text"/> > <xsl:template match="/"> > <xsl:apply-templates select="//Account[1]"/> > </xsl:template> > <xsl:template match="Account"> > <xsl:for-each select="*"><xsl:value-of select="."/><xsl:if test="last() > > position()">,</xsl:if></xsl:for-each><xsl:text></xsl:text> > </xsl:template> > </xsl:stylesheet> > > > XML: > <?xml version="1.0"?> > <Data> > <Account> > <AccountNumber>1000748</AccountNumber> > <SequenceNo>1</SequenceNo> > <AccountBalance>1052.35</AccountBalance> > <Name> > <CitizenNameTitle>Mr</CitizenNameTitle> > <CitizenNameForename>Joe</CitizenNameForename> > <CitizenNameSurname>Bloggs</CitizenNameSurname> > </Name> > </Account> > </Data> > > Output: > 1000748,1,1052.35,MrJoeBloggs > > I would appreciate any help in this matter. > > Andrew
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] XML To CSV, ashushujev | Thread | [xsl] Curious result of the positio, Roy |
[xsl] Curious result of the positio, Roy | Date | [xsl] Failed to load java error in , Ranjan K. Baisak |
Month |