【发布时间】:2016-10-20 17:34:17
【问题描述】:
我目前正在编写关于 Access 的新代码,我似乎无法理解。我对 xslt 很陌生,我了解“For-Each”的基本概念,但我仍然遇到问题。我希望你们中的一些人能帮助我理解为什么我的代码不能按预期工作。
我希望在 Access 中的表中打印所有这些,并将所有分支名称放在单独的行中。目前我将分支名称打印在一行中。
任何帮助。谢谢各位!
XSLT 代码
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<ING_PNA_Import>
<xsl:for-each select="PNAResponse/PriceAndAvailability">
<Import>
<Test>
<SKU>
<xsl:value-of select="@SKU"/>
</SKU>
<VendorNumber>
<xsl:value-of select="VendorNumber"/>
</VendorNumber>
<Price>
<xsl:value-of select="Price"/>
</Price>
<MPN>
<xsl:value-of select="ManufacturerPartNumber"/>
</MPN>
<ID>
<xsl:value-of select="Branch/@ID"/>
<xsl:text>
</xsl:text>
</ID>
<Name>
<xsl:for-each select="Branch">
<xsl:value-of select="@Name"/>
</xsl:for-each>`
</Name>
<Availability>
<xsl:value-of select="Branch/Availability"/>
</Availability>
</Test>
</Import>
</xsl:for-each>
</ING_PNA_Import>
XML 代码:
<?xml version="1.0" encoding="iso-8859-1"?>
<PNAResponse>
<Version>2.0</Version>
<TransactionHeader>
<SenderID>YOU</SenderID>
<ReceiverID>MD</ReceiverID>
<ErrorStatus ErrorNumber=""></ErrorStatus>
<DocumentID></DocumentID>
<TransactionID></TransactionID>
</TransactionHeader>
<PriceAndAvailability SKU="100150" Quantity="1">
<Price>21.21</Price>
<SpecialPriceFlag></SpecialPriceFlag>
<ManufacturerPartNumber>TEST1234</ManufacturerPartNumber>
<ManufacturerPartNumberOccurs></ManufacturerPartNumberOccurs>
<VendorNumber>123X</VendorNumber>
<Description>Cool Item</Description>
<ReserveInventoryFlag>Y</ReserveInventoryFlag>
<AvailableRebQty>0</AvailableRebQty>
<Branch Name="Town1" ID="01">
<Availability>8</Availability>
<OnOrder>0</OnOrder>
<ETADate></ETADate>
</Branch>
<Branch Name="Town2" ID="02">
<Availability>8</Availability>
<OnOrder>0</OnOrder>
<ETADate></ETADate>
</Branch>
<Branch Name="Town3" ID="03">
<Availability>6</Availability>
<OnOrder>5</OnOrder>
<ETADate></ETADate>
</Branch>
<Branch Name="Town4" ID="04">
<Availability>5</Availability>
<OnOrder>5</OnOrder>
<ETADate></ETADate>
</Branch>
<Branch Name="Town5" ID="05">
<Availability>10</Availability>
<OnOrder>0</OnOrder>
<ETADate></ETADate>
</Branch>
<UPC>123456789012345</UPC>
<CustomerPartNumber></CustomerPartNumber>
【问题讨论】:
标签: xml ms-access xslt foreach