XSL按节点位置排序

时间:2017-01-02 22:04:03

标签: xslt-1.0

我想要理清"数字"的值。通过Position /或首先进入T.number值的XML文档并显示它。有没有办法做到这一点?

这是我的XML文档

root:

Users:

customusername

       Userid:   "ondkinwakdnakjnxjexampleuseridindjan" (this it can't find!)

       Username: "customusername"

期望的结果:

<?xml version="1.0" encoding="UTF-8"?>
<JobList>
<Job ID="2" />                
<Job ID="3" />                
<Job ID="5" />                
<Job ID="4" />
<Job ID="6" />                
<Job T.number="28" />                
<Job T.number="10" />                
<Job T.number="24" />                
<Job T.number="75" />
<Job T.number="75" />                
<Tool number="10" />
<Tool number="24" />
<Tool number="28" />
<Tool number="75" />
<Tool number="75" />
</JobList>

这是XSL文档:

<?xml version="1.0" encoding="UTF-8"?>
<JobList>
<Job ID="2" />               
<Job ID="3" />               
<Job ID="5" />                
<Job ID="4" />
<Job ID="6" />                 
<Tool number="28" />
<Tool number="10" />
<Tool number="24" />
<Tool number="75" />
</JobList>

更新:我找到了一个与我需要的数字顺序相同的属性。我用属性更新了XML。但是XSL仍然不想解决它。

1 个答案:

答案 0 :(得分:1)

您想要的输出与实际代码产生的输出有很大不同。但也许这会对你有所帮助。此代码将获得您想要的输出。然后你可以将它修改为你真正想要的东西。

@Profile

或者,您可以修改代码来执行此操作。由于您只打印出数字,因此无需查找该工具。

<!-- Change your for-each loop.  -->
<xsl:for-each select="$vsortOrder/@T.number">                      

   <xsl:variable name="tnumber" select="."/>   

   <xsl:copy-of select="//Tool[@number=$tnumber]"/>

</xsl:for-each>
相关问题