|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
I am new to transforming xml with xsl so maybe someone can help me
below is the xml i am getting from a web service. basically I want to write a xsl page to transform that and select only structs that have a <member> <name>status</name> - <value> <string>Syndicated</string> Does that make any sense? Even someone pointing me to the right tutorials would be a big help thanks!! Code:
<?xml version="1.0" encoding="iso-8859-1" ?> - <methodResponse> - <params> - <param> - <value> - <array> - <data> - <value> - <struct> - <member> <name>sitename</name> - <value> <string>http://www.xblocks.com/contentPortal/weblog</string> </value> </member> - <member> <name>siteurl</name> - <value> <string>http://www.elevenprospect.com/</string> </value> </member> - <member> <name>dataurl</name> - <value> <string>http://cp.elevenprospect.com/xblocks/xml.jsp?portal=www.xblocks.com/contentPortal/weblog&filterName=name&filterValue=.*</string> </value> </member> -<member> <name>status</name> - <value> <string>Syndicated</string> </value> </member> - <member> <name>description</name> - <value> <string>ElevenPropsect</string> </value> </member> - <member> <name>faultCode</name> - <value> <string>0</string> </value> </member> - <member> <name>faultString</name> - <value> <string /> </value> </member> </struct> </value> </data> </array> </value> </param> </params> </methodResponse> |
|
#2
|
||||
|
||||
|
First off, next time you post XML go to View->Source and paste that instead so you don't paste all of those stupid "-" characters that are not truly part of the XML. The XSL that I am about to present to you makes the ASSUMPTION that when you said "I want to write a xsl page to transform that and select only structs that have a <XML>" that what was meant by that was "struct elements that have one or more member elements."
Code:
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <xsl:apply-templates select="methodResponse/params/param/value/array/data/value/struct[count(member) > 1]"/> </xsl:template> <xsl:template match="struct"> <!-- process struct --> This struct has at least one member element. </xsl:template> </xsl:stylesheet> |
![]() |
| Viewing: Dev Shed Forums > Programming Languages - More > XML Programming > xml transformations |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|