0

我正在尝试创建一个 XSLT 来将一些传入的 XML 数据转换为我们自己的专有 XML 模式格式。然而,传入的 xml 具有不同数量的重复“位置”元素(见下文),我一直在尝试找出如何循环它们 - 我已经设法创建一个变量来保存最大数量的“位置”使用“计数”函数,但还没有完全弄清楚如何在 XSLT 中遍历它——我已经搜索了 stackoverflow,但是(这可能是我的无知)我无法准确找到我需要的东西。我是这一切的新手,所以如果我有点密集,请原谅我。

<?xml version="1.0" encoding="UTF-8"?>
<Root>
    <RqId>dwdqwfqrfrq</RqId>
    <StartDate>2013-06-13</StartDate>
    <EndDate>2014-06-12</EndDate>
    <AddressData>
        <Location id="A6439ebfe-c7f8-40a0-b95f-a0cc1ebfe7d0">
            <NumberAndStreet>1 Main Street</NumberAndStreet>
            <City>Chicago</City>
            <County>Cook</County>
            <State>IL</State>
            <ZipCode>60001</ZipCode>
        </Location>
        <Location id="A6439ebfe-c7f8-40a0-b95f-a0cc1ebfe7d1">
            <NumberAndStreet>2 Main Street</NumberAndStreet>
            <City>Chicago</City>
            <County>Cook</County>
            <State>IL</State>
            <ZipCode>60002</ZipCode>
        </Location>
        <Location id="A6439ebfe-c7f8-40a0-b95f-a0cc1ebfe7d2">
            <NumberAndStreet>3 Main Street</NumberAndStreet>
            <City>Chicago</City>
            <County>Cook</County>
            <State>IL</State>
            <ZipCode>60003</ZipCode>
        </Location>
        <Location id="A6439ebfe-c7f8-40a0-b95f-a0cc1ebfe7d3">
            <NumberAndStreet>4 Main Street</NumberAndStreet>
            <City>Chicago</City>
            <County>Cook</County>
            <State>IL</State>
            <ZipCode>60004</ZipCode>
        </Location>
        <Location id="A6439ebfe-c7f8-40a0-b95f-a0cc1ebfe7d5">
            <NumberAndStreet>5 Main Street</NumberAndStreet>
            <City>Chicago</City>
            <County>Cook</County>
            <State>IL</State>
            <ZipCode>60005</ZipCode>
        </Location>
    </AddressData>
</Root>

任何人都可以帮忙吗?

谢谢

4

1 回答 1

0

您正在考虑程序语言。XSLT 是一种声明性语言,没有“循环”元素列表的感觉。

只需编写一个模板,例如

<xsl:template match="Location">
  ...
</xsl:template>

它将应用于Location遇到的所有元素。

于 2013-06-13T15:56:52.213 回答