【问题标题】:How to iterate through following sibling in XSLT如何遍历 XSLT 中的以下同级
【发布时间】:2021-06-27 08:16:29
【问题描述】:

我有一个看起来像的 XML

<?xml version="1.0" encoding="UTF-8"?><Rowsets >
<Rowset>
   
    <Row>
        <plant>1000</plant>
        <workCenterId>10001</workCenterId>
        <workCenter>WC1</workCenter>
        <alerts>alerts</alerts>
        <incident>incident</incident>
        <dashboard>dashboard</dashboard>
        <alertStatus>false</alertStatus>
        <incidentStatus>false</incidentStatus>
        <dashboardStatus>true</dashboardStatus>
    </Row>
    <Row>
        <plant>1000</plant>
        <workCenterId>10001</workCenterId>
        <workCenter>WC1</workCenter>
        <alerts>alerts</alerts>
        <incident>incident</incident>
        <dashboard>dashboard</dashboard>
        <alertStatus>true</alertStatus>
        <incidentStatus>false</incidentStatus>
        <dashboardStatus>false</dashboardStatus>
    </Row>
    <Row>
        <plant>1000</plant>
        <workCenterId>10001</workCenterId>
        <workCenter>WC1</workCenter>
        <alerts>alerts</alerts>
        <incident>incident</incident>
        <dashboard>dashboard</dashboard>
        <alertStatus>false</alertStatus>
        <incidentStatus>true</incidentStatus>
        <dashboardStatus>false</dashboardStatus>
    </Row>
    <Row>
        <plant>1000</plant>
        <workCenterId>10002</workCenterId>
        <workCenter>WC2</workCenter>
        <alerts>alerts</alerts>
        <incident>incident</incident>
        <dashboard>dashboard</dashboard>
        <alertStatus>false</alertStatus>
        <incidentStatus>false</incidentStatus>
        <dashboardStatus>true</dashboardStatus>
    </Row>
    <Row>
        <plant>1000</plant>
        <workCenterId>10002</workCenterId>
        <workCenter>WC2</workCenter>
        <alerts>alerts</alerts>
        <incident>incident</incident>
        <dashboard>dashboard</dashboard>
        <alertStatus>true</alertStatus>
        <incidentStatus>false</incidentStatus>
        <dashboardStatus>false</dashboardStatus>
    </Row>
    <Row>
        <plant>1000</plant>
        <workCenterId>10003</workCenterId>
        <workCenter>WC3</workCenter>
        <alerts>alerts</alerts>
        <incident>incident</incident>
        <dashboard>dashboard</dashboard>
        <alertStatus>false</alertStatus>
        <incidentStatus>false</incidentStatus>
        <dashboardStatus>false</dashboardStatus>
    </Row>
    <Row>
        <plant>1000</plant>
        <workCenterId>10004</workCenterId>
        <workCenter>WC4</workCenter>
        <alerts>alerts</alerts>
        <incident>incident</incident>
        <dashboard>dashboard</dashboard>
        <alertStatus>false</alertStatus>
        <incidentStatus>false</incidentStatus>
        <dashboardStatus>false</dashboardStatus>
    </Row>
    <Row>
        <plant>1000</plant>
        <workCenterId>10005</workCenterId>
        <workCenter>WC4</workCenter>
        <alerts>alerts</alerts>
        <incident>incident</incident>
        <dashboard>dashboard</dashboard>
        <alertStatus>false</alertStatus>
        <incidentStatus>false</incidentStatus>
        <dashboardStatus>false</dashboardStatus>
    </Row>
</Rowset>

我想要做的是遍历每个 Workcenter 并提取文本值“true”,无论它是否为真。在下一次迭代中,如果 workCenter 相同,再次提取文本“true”等等。

我是 XSLT 的新手,不知道兄弟节点。有人可以帮忙吗?

所有迭代后的预期输出`

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <WC>
        <workCenter>WC1</workCenter>>
        <alerts>alerts:true</alerts>
        <dashboard>dashboard:true</dashboard>
         <incident>incident:true</incident>
    </WC>
    <WC>
       <workCenter>WC2</workCenter>>
        <alerts>alerts:true</alerts>
        <dashboard>dashboard:true</dashboard>
         <incident>incident:false</incident>
    </WC>
    <WC>
    
     <workCenter>WC3</workCenter>>
     <alerts>alerts:false</alerts>
    <dashboard>dashboard:false</dashboard>
     <incident>incident:false</incident>
      
    </WC>
    <WC>
    
     <workCenter>WC4</workCenter>>
     <alerts>alerts:false</alerts>
    <dashboard>dashboard:false</dashboard>
     <incident>incident:false</incident>
      
    </WC>
</root>

【问题讨论】:

标签: xslt xpath xslt-1.0 xslt-2.0 xslt-grouping


【解决方案1】:

这是在后端 SQL DB 中处理的

【讨论】:

  • 这没有回答问题。如果您通过其他方式解决了问题,您可以删除问题。
猜你喜欢
  • 1970-01-01
  • 2015-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-14
  • 2019-03-03
  • 1970-01-01
相关资源
最近更新 更多