У меня есть это:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:envelope xmlns:ns0="http://xxx/xxx/envelope/1.0">
<ns0:header>
</ns0:header>
<ns0:body>
<ns1:sales xmlns:ns1="http://xxx/xxx/sales/1.0/" standardversion="1.1" guid="0">
<ns1:itemMeta>
<ns1:provider/>
<ns1:documentModified>2018-10-05T11:41:09.344+02:00</ns1:documentModified>
<ns1:documentVersion>1</ns1:documentVersion>
<ns1:documentType>XML</ns1:documentType>
</ns1:itemMeta>
<ns1:contentSet>
<ns1:inlineXML>
<group>
<ns2:ptv>
<ns2:id type="xxx">15566</ns2:id>
<ns2:info>
<ns2:type>xxx</ns2:type>
<ns2:name>xxx</ns2:name>
</ns2:ptv>
<ns2:ptv>
<ns2:id type="xxx">13444</ns2:id>
<ns2:info>
<ns2:type>yyy</ns2:type>
<ns2:name>yyy</ns2:name>
</ns2:ptv>
<ns2:ptv>
<ns2:id type="xxx">155525</ns2:id>
<ns2:info>
<ns2:type>xxx</ns2:type>
<ns2:name>xxx</ns2:name>
</ns2:ptv>
</group>
</ns1:inlineXML>
</ns1:contentSet>
</ns1:salesItem>
</ns0:body>
</ns0:envelope>
Как я могу прочитать каждую строку "ptv" отдельно в xslt?
Мой xsl выглядит примерно так:
<xsl:template match="/">
<xsl:element name="ptv">
<xsl:attribute name="mode">
<xsl:value-of select="/body/salesItem/contentSet/inlineXML/group/ptv/@mode"></xsl:value-of>
</xsl:attribute>
<xsl:attribute name="timestamp">
<xsl:value-of select="/body/salesItem/contentSet/inlineXML/group/ptv/@timestamp"></xsl:value-of>
</xsl:attribute>
<xsl:apply-templates select="/body/salesItem/contentSet/inlineXML/group/ptv/*" mode="content" />
</xsl:element>
</xsl:template>
Как сделать, чтобы все объекты "ptv" обрабатывались отдельно?(как foreach ..)
В настоящее время результатом является один тег "ptv" и все данные "x" ptv внутри ...
thx
редактировать: это то, что мне нужно в результате.пожалуйста, дайте мне знать, как я могу сделать это.
<?xml version="1.0" encoding="utf-8"?>
<ptv>
<id type="xxx">15566</id>
<info>
<type>xxx</type>
<name>xxxx</name>
</info>
</ptv>
<ptv>
<id type="xxx">15566</id>
<info>
<type>xxx</type>
<name>xxxx</name>
</info>
</ptv>
<ptv>
<id type="xxx">15566</id>
<info>
<type>xxx</type>
<name>xxxx</name>
</info>
</ptv>