我有以下xml文件:
<properties>
<type>1</type> <!-- 1 or 2>
<prop1> test </prop1>
<prop2> test2 </prop2>
</properties>
和wsdl文件:
<definitions>
<xmlProp>test</xmlProp>
</definitions>
我希望wsdl标签“xmlProp”从xml标签的值prop1获取值。 另外我想在wsdl中有一个if语句,如果xml标签“type”为1,则wsdl标签xmlProp获取prop1值,否则获得prop2值。
有没有办法做到这一点?
答案 0 :(得分:0)
我有一个适合你的XSL方法。
XML文件:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="YourFile.xslt"?>
<properties>
<type>1</type> <!-- 1 or 2>-->
<prop1> test </prop1>
<prop2> test2 </prop2>
</properties>
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" indent="yes"/>
<xsl:template match="/">
<xsl:element name="definitions">
<xsl:element name="xmlProp">
<xsl:choose>
<xsl:when test="/properties[type = 1]">
<xsl:value-of select="/properties/prop1" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/properties/prop2" />
</xsl:otherwise>
</xsl:choose>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
输出:
<?xml version="1.0" encoding="utf-8"?>
<definitions>
<xmlProp> test </xmlProp>
</definitions>
我希望这会有所帮助。