从xml文件中获取wsdl值

时间:2015-02-26 10:44:14

标签: xml wsdl

我有以下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值。

有没有办法做到这一点?

1 个答案:

答案 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>

我希望这会有所帮助。