【发布时间】:2022-08-20 03:42:01
【问题描述】:
我有以下可用的 xml 导出:
<?xml version=\'1.0\' encoding=\'UTF-8\'?>
<document>
<header>
<creation-date>2022-08-09T08:46:00</creation-date>
<SequenceOfDocument>10</SequenceOfDocument>
</header>
<businessobjects>
<Reservation>
<BeginDateTime>2022-07-29T16:00:00</BeginDateTime>
<OrderNumber>606.00</OrderNumber>
<Person>
<UsrAddress>
<Code>0393</Code>
</UsrAddress>
</Person>
<TotalActualCostExclVAT>30.00</TotalActualCostExclVAT>
<ParentOrderRef/>
</Reservation>
<Reservation>
<BeginDateTime>2022-07-29T16:00:00</BeginDateTime>
<OrderNumber>606.01</OrderNumber>
<RefBODefinitionUserDefined>UsrReservationEquipment</RefBODefinitionUserDefined>
<Person>
<UsrAddress>
<Code>0393</Code>
</UsrAddress>
</Person>
<TotalActualCostExclVAT>40.00</TotalActualCostExclVAT>
<ParentOrderRef>606.00</ParentOrderRef>
</Reservation>
<Reservation>
<BeginDateTime>2022-07-29T16:00:00</BeginDateTime>
<OrderNumber>607.00</OrderNumber>
<RefBODefinitionUserDefined>UsrReservationEquipment</RefBODefinitionUserDefined>
<Person>
<UsrAddress>
<Code>0500</Code>
</UsrAddress>
</Person>
<TotalActualCostExclVAT>50.00</TotalActualCostExclVAT>
<ParentOrderRef></ParentOrderRef>
</Reservation>
</businessobjects>
</document>
我想通过 XSLT 浏览所有内容,按:/Person/Us Address/Code 分组
结果应该是:
<SalesOrderHeader>
<SalesOrderHeaderFields>
<CustomerNumber>0393</CustomerNumber>
</SalesOrderHeaderFields>
<ItemFields>
<_USERFIELD1>606.00</_USERFIELD1>
</ItemFields>
<ItemFields>
<_USERFIELD1>606.01</_USERFIELD1>
</ItemFields>
</SalesOrderHeader>
<SalesOrderHeader>
<SalesOrderHeaderFields>
<CustomerNumber>0500</CustomerNumber>
</SalesOrderHeaderFields>
<ItemFields>
<_USERFIELD1>607.00</_USERFIELD1>
</ItemFields>
</SalesOrderHeader>
我已经试过了:
<xsl:for-each-group select=\"Reservation\" group-by=\"/Person/UsrAddress/Code\">
<xsl:for-each select=\"current-group()\">
但我没有将它们按 Person/UsrAddress/Code 分组。我不会像示例中那样将它们分组。也许有人可以给我一个提示?
-
您的路径已关闭,从stackoverflow.com/tags/xslt-grouping/info 之类的示例/介绍开始,然后根据您的需要调整分组示例,确保在必要时使用相对路径。如果您继续遇到问题,请发布一个最小但复杂的 XSLT 以及您得到的错误或错误输出。
-
而不是
<xsl:for-each-group select=\"Reservation\" group-by=\"/Person/UsrAddress/Code\">尝试<xsl:for-each-group select=\"Reservation\" group-by=\"Person/UsrAddress/Code\">。