我有一个看起来像这样的XML文件 - 它是一个用户列表,每个用户都有两个日期。它可能是两个字段中的相同日期(我的示例文件中的第一个用户),也可能是不同的日期(第二个和第三个用户)。
我想过滤这个文件,所以它只给了那些lastActivityDate大于/晚于datePrivilegeGranted
的用户这个XML文件看起来像这样
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="activityvsprivilege2.xsl"?>
<report>
<title>Display Users</title>
<dateCreated>2016-02-23T13:58:56</dateCreated>
<dateFormat>yyyy/mm/dd</dateFormat>
<user>
<userID>0108484181</userID>
<name>
<displayName>Johansson</displayName>
</name>
<lastActivityDate>2005-08-18</lastActivityDate>
<datePrivilegeGranted>2005-08-18</datePrivilegeGranted>
</user>
<user>
<userID>4187101934</userID>
<name>
<displayName>Karlsson</displayName>
</name>
<lastActivityDate>2015-03-17</lastActivityDate>
<datePrivilegeGranted>2013-08-23</datePrivilegeGranted>
</user>
<user>
<userID>20580001535250</userID>
<name>
<displayName>Persson</displayName>
</name>
<lastActivityDate>2012-05-18</lastActivityDate>
<datePrivilegeGranted>2009-08-20</datePrivilegeGranted>
</user>
</report>
我的XSL样式表的初稿看起来像这样 - 我想我应该对for-each-part做些什么?
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<user>
<xsl:for-each select="report/user">
<patronline>
<userID><xsl:value-of select="userID"/></userID>
<displayName><xsl:value-of select="name/displayName"/></displayName>
<lastActivityDate><xsl:value-of select="lastActivityDate"/></lastActivityDate>
<datePrivilegeGranted><xsl:value-of select="datePrivilegeGranted"/></datePrivilegeGranted>
</patronline>
</xsl:for-each>
</user>
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:0)
我猜你想做:
XSLT 1.0
def products = Product.findAllByFirmData(object.firmData)