-1
我有XML其中包含多个customItems:XSLT的for-each返回第一个子元素只
<?xml version="1.0" ?>
<root>
<customItem>
<CustomerName>1Test</CustomerName>
<PONumber>321</PONumber>
<CustomerProofRequired>true</CustomerProofRequired>
<JobType>PVC Banner</JobType>
<ArtworkDescription>TestB2Bconvert4</ArtworkDescription>
<TrimSizeWidthinmm>5000</TrimSizeWidthinmm>
<TrimSizeHeightinmm>6000</TrimSizeHeightinmm>
<ChooseMedia>Bsmart PVC 510g</ChooseMedia>
<BleedRequired?>true</BleedRequired?>
<Replacementartwork?>false</Replacementartwork?>
<MultiItemJob>Yes</MultiItemJob>
<Quantity>1</Quantity>
<SquareMetres>30</SquareMetres>
<Price>120</Price>
</customItem>
<customItem>
<CustomerName>1Test</CustomerName>
<PONumber>321</PONumber>
<CustomerProofRequired>true</CustomerProofRequired>
<JobType>Vinyl Print</JobType>
<ArtworkDescription>TestB2Bconvert3</ArtworkDescription>
<TrimSizeWidthinmm>500</TrimSizeWidthinmm>
<TrimSizeHeightinmm>500</TrimSizeHeightinmm>
<ChooseMedia>Promotional (Budget Short Term Vinyl)</ChooseMedia>
<BleedRequired?>true</BleedRequired?>
<Replacementartwork?>false</Replacementartwork?>
<MultiItemJob>Yes</MultiItemJob>
<Quantity>7</Quantity>
<SquareMetres>0.25</SquareMetres>
<Price>1.75</Price>
</customItem>
</root>
我使用这个XSLT转换它:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" />
<xsl:template match="/">
<field-list>
<xsl:for-each select="root/customItem">
<field>
<xsl:value-of select="ArtworkDescription"/>
</field>
</xsl:for-each>
</field-list>
</xsl:template>
但我只得到第一个值“ArtworkDescription”中的结果为:
<field-list>
<field>
TestB2Bconvert4
</field>
</field-list>
如果我从输入文件中删除了一些元素:
<?xml version="1.0" ?>
<root>
<customItem>
<CustomerName>1Test</CustomerName>
<PONumber>321</PONumber>
<CustomerProofRequired>true</CustomerProofRequired>
<JobType>PVC Banner</JobType>
<ArtworkDescription>TestB2Bconvert4</ArtworkDescription>
</customItem>
<customItem>
<CustomerName>1Test</CustomerName>
<PONumber>321</PONumber>
<CustomerProofRequired>true</CustomerProofRequired>
<JobType>Vinyl Print</JobType>
<ArtworkDescription>TestB2Bconvert3</ArtworkDescription>
</customItem>
</root>
我得到了我在寻找:
<field-list>
<field>
TestB2Bconvert4
</field>
<field>
TestB2Bconvert3
</field>
</field-list>
我无法弄清楚,为什么,谁能帮助我?
我不认为' true BleedRequired?>是XML允许的,所以我怀疑你得到的第一个样本是根据XSLT提供的。 –
斑点!它在我删除问号时起作用。 – James