Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 使用<;xsl:sort>;按部分字符串值排序的步骤_Xml_Sorting_Xslt - Fatal编程技术网

Xml 使用<;xsl:sort>;按部分字符串值排序的步骤

Xml 使用<;xsl:sort>;按部分字符串值排序的步骤,xml,sorting,xslt,Xml,Sorting,Xslt,再一次,我对XSLT所涉及的术语不是很熟悉,但我会尽力解释我遇到的问题 我有下面的XML示例 <Company> <Employee> <FirstName>Tim</FirstName> <LastName>Browne</LastName> <Position>CEO</Position> <Email>TBrow

再一次,我对XSLT所涉及的术语不是很熟悉,但我会尽力解释我遇到的问题

我有下面的XML示例

<Company>
    <Employee>
        <FirstName>Tim</FirstName>
        <LastName>Browne</LastName>
        <Position>CEO</Position>
        <Email>TBrowne@Infoteria.com</Email>
        <Category>Officer</Category>
        <Age>25</Age>
    </Employee>
    [More employees...
</Company>

提姆
布朗
首席执行官
TBrowne@Infoteria.com
官员
25
[更多员工。。。
我正在尝试按他们的电子邮件域(在“@”之后的内容)对上述数据进行排序。以下是我尝试过的内容

<xsl:apply-templates select="Employee">
    <xsl:sort select="substring-after('Email','@')"/>
</xsl:apply-templates>

基本上,你看不到的模板只是一个简单的“为每个员工在表格中创建一行”,因此这里没有太多可看的内容。正如你上面所看到的,我的思考过程是,如果我能在@之后对所有内容进行排序,那么我的解决方案就完成了

输出模板的示例。

然而,这似乎破坏了排序,因为它只是将它们返回到xml中出现的按时间顺序排列的列表中(第一个雇员,然后第二个雇员等等,而不是被排序),我认为这意味着排序有问题


提前感谢!

更改为

您的问题基本上还不错,但当前输出是什么?您需要详细说明如何“中断”.对不起,我修改了问题。谢谢!我在编辑之前写了评论,对不起!现在应该更新了。该死的!谢谢各位,很抱歉浪费你们的时间解决了这样一个问题。这解决了问题,再次感谢。