获取传入XML中某个元素的所有值
Get all the values of an element in the incoming XML
美好的一天!
如何遍历传入文本并获取“调用”元素的所有值
IN:
<text:One>
<text:Collections>
<text:Call>
<text:Name>TEST1</text:Name>
</text:Call>
<text:Call>
<text:Name>TEST2</text:Name>
</text:Call>
</text:Collections>
</text:One>
如何获取输出(使用 X-Path):
OUT:
...
<string name="Call" value "TEST1,TEST2"/>
...
考虑这个简化的示例:
XML
<One>
<Collections>
<Call>
<Name>TEST1</Name>
</Call>
<Call>
<Name>TEST2</Name>
</Call>
</Collections>
</One>
XSLT 1.0
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
<xsl:template match="/One">
<string name="Call">
<xsl:attribute name="value">
<xsl:for-each select="Collections/Call">
<xsl:value-of select="Name"/>
<xsl:if test="position()!=last()">,</xsl:if>
</xsl:for-each>
</xsl:attribute>
</string>
</xsl:template>
</xsl:stylesheet>
结果
<?xml version="1.0" encoding="utf-8"?>
<string name="Call" value="TEST1,TEST2"/>
美好的一天! 如何遍历传入文本并获取“调用”元素的所有值
IN:
<text:One>
<text:Collections>
<text:Call>
<text:Name>TEST1</text:Name>
</text:Call>
<text:Call>
<text:Name>TEST2</text:Name>
</text:Call>
</text:Collections>
</text:One>
如何获取输出(使用 X-Path):
OUT:
...
<string name="Call" value "TEST1,TEST2"/>
...
考虑这个简化的示例:
XML
<One>
<Collections>
<Call>
<Name>TEST1</Name>
</Call>
<Call>
<Name>TEST2</Name>
</Call>
</Collections>
</One>
XSLT 1.0
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
<xsl:template match="/One">
<string name="Call">
<xsl:attribute name="value">
<xsl:for-each select="Collections/Call">
<xsl:value-of select="Name"/>
<xsl:if test="position()!=last()">,</xsl:if>
</xsl:for-each>
</xsl:attribute>
</string>
</xsl:template>
</xsl:stylesheet>
结果
<?xml version="1.0" encoding="utf-8"?>
<string name="Call" value="TEST1,TEST2"/>