如何使用XSL获取XML元素的价值

时间:2017-03-22 11:36:39

标签: xml xslt value-of

我有一个XML和XSL代码,产品有图像和描述。我想在描述标签中附加此图像。

public function transactionsByStatus_post()
{
    var_dump(file_get_contents('php://input')); // Its getting truncate. Not fully displaying the values.

//Response sending as JSON Format
}

我像这样编写XSL代码(但它没有获得img_type的值):

<images>
  <img_item type_name="">http://www.example.com.tr/ExampleData/example1.jpg</img_item>
  <img_item type_name="">http://www.example.com.tr/ExampleData/example2.jpg</img_item>
  <img_item type_name="">http://www.example.com.tr/ExampleData/example3.jpg</img_item>
</images>

我的代码不起作用。我怎样才能获得img_type的价值(我怎样才能获得这些链接。)

1 个答案:

答案 0 :(得分:1)

您没有获得和价值的原因是因为img_item已经定位,您的xsl:value-of选择将与此相关。所以你只需要这样做......

<xsl:value-of select="." />

但是,你应该避免使用CDATA写出标签(除非你真的希望它们被转义)。只需直接写出你想要的元素

<xsl:template match="/">
  <Description>
    <xsl:for-each select="images/img_item">
      <br />
      <img src="{.}" />
    </xsl:for-each>
  </Description>
</xsl:template>

请注意使用Attribute Value Templates来写出src属性值。