XSLT问题麻烦
XSLT Issue trouble
有这个问题
在一个 XML 文件中,我可能碰巧有一个或多个请求标记,如下所示:
<notification>
<data>
<admin originator="" event_time="2015-02-28T02:26:42+02:00">
<input>
<request_set tx_id="Y2xfMDFfMDE6LWFjODQ2MTQ6Y2E3Mjo1NGVmYjA3NjoxNTE3ODA=#YWM4NDYxNDpjYTcyOjU0ZWZiMDc2OjE1MTc5Ng==" tx_timeout="2015-02-28T00:36:51.824Z" tx_command="start">
<request report="">
<update>
<account_data id="2005637" parent="3615732" Status="2" instance="1">
<info>
<additional languageid="ARA" nwop="WMP" expdat="2015-08-17T00:00:00+02:00" exptyp="Deactivate" status="2" as="ACT/STD" dyn="ch=US,gn=,ct=1,enc=true,tp=TP_STUDENTS"/>
</info>
</account_data>
</update>
</request>
<request report="">
<update>
<account_data id="3615734" parent="3615732" Status="5" instance="1">
<info>
<additional languageid="ARA" nwop="WMP" status="5" as="PAS/SUSP" dyn="ch=US,gn=,ct=1,enc=true,tp=TP_SHABABE"/>
</info>
</account_data>
</update>
</request>
</request_set>
</input>
</admin>
</data>
</notification>
Request的个数可以是随机的,可以是单个也可以是多个。
我的样式表适用于帐户 ID
<xsl:variable name="ACID">
<xsl:value-of select="/notification/data/admin/input/request_set/request/update/account_data/@id"/>
</xsl:variable>
在这种情况下,对于第二次出现的帐户 ID (ACID),它会出错,因为它仍然会使用第一个。
我想申请的一件事如下:
如果 account_data 中的 Status = 5,则在同一行中获取帐户 ID。
不确定你明白我的意思,你认为这可行吗?
还有其他方法吗?
提前致谢
One thing I would like to apply is following: If Status in the
account_data is = 5 then take the account id in the same line.
我相信你的意思是:
<xsl:value-of select="/notification/data/admin/input/request_set/request/update/account_data[@Status='5']/@id"/>
这将 return 状态为 5(在您的示例中为“3615734”)的(第一个)account_data 的 ID。
有这个问题 在一个 XML 文件中,我可能碰巧有一个或多个请求标记,如下所示:
<notification>
<data>
<admin originator="" event_time="2015-02-28T02:26:42+02:00">
<input>
<request_set tx_id="Y2xfMDFfMDE6LWFjODQ2MTQ6Y2E3Mjo1NGVmYjA3NjoxNTE3ODA=#YWM4NDYxNDpjYTcyOjU0ZWZiMDc2OjE1MTc5Ng==" tx_timeout="2015-02-28T00:36:51.824Z" tx_command="start">
<request report="">
<update>
<account_data id="2005637" parent="3615732" Status="2" instance="1">
<info>
<additional languageid="ARA" nwop="WMP" expdat="2015-08-17T00:00:00+02:00" exptyp="Deactivate" status="2" as="ACT/STD" dyn="ch=US,gn=,ct=1,enc=true,tp=TP_STUDENTS"/>
</info>
</account_data>
</update>
</request>
<request report="">
<update>
<account_data id="3615734" parent="3615732" Status="5" instance="1">
<info>
<additional languageid="ARA" nwop="WMP" status="5" as="PAS/SUSP" dyn="ch=US,gn=,ct=1,enc=true,tp=TP_SHABABE"/>
</info>
</account_data>
</update>
</request>
</request_set>
</input>
</admin>
</data>
</notification>
Request的个数可以是随机的,可以是单个也可以是多个。 我的样式表适用于帐户 ID
<xsl:variable name="ACID">
<xsl:value-of select="/notification/data/admin/input/request_set/request/update/account_data/@id"/>
</xsl:variable>
在这种情况下,对于第二次出现的帐户 ID (ACID),它会出错,因为它仍然会使用第一个。 我想申请的一件事如下: 如果 account_data 中的 Status = 5,则在同一行中获取帐户 ID。 不确定你明白我的意思,你认为这可行吗? 还有其他方法吗? 提前致谢
One thing I would like to apply is following: If Status in the account_data is = 5 then take the account id in the same line.
我相信你的意思是:
<xsl:value-of select="/notification/data/admin/input/request_set/request/update/account_data[@Status='5']/@id"/>
这将 return 状态为 5(在您的示例中为“3615734”)的(第一个)account_data 的 ID。