У меня есть XML, который содержит несколько customItems:XSLT для каждого-возвращающегося первого элемента ребенка только
<?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