如何使用xslt从XML中提取元素的属性并以不同的样式显示

时间:2012-03-09 05:17:25

标签: xml xslt xpath tridion

我是XSLT的新手。我正在将XML文件从一种格式转换为另一种格式。 我还想从元素中提取值并以粗体显示它们。

示例源XML:

 <Content xmlns="uuid:4522eb85">
      <first xmlns="uuid:4522eb85">Hello World. This is first field</first>
      <second author="XYZ">Hi iam second field</second>
 </Content>

所需的输出格式:

  <root>
     <aaa>Hello World. This is first field</aaa>
     <bbb><author>**XYZ**</author>Hi iam second field</bbb>
  <root>

我无法从标签中提取属性并使用样式显示(例如粗体)。

请帮忙。 提前谢谢。

2 个答案:

答案 0 :(得分:3)

这个XSLT完全按照你的要求输出。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:c="uuid:4522eb85" exclude-result-prefixes="c">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="yes"/>

    <xsl:template match="/c:Content">
        <root>
            <aaa><xsl:value-of select="c:first"/></aaa>
            <bbb><author>**<xsl:value-of select="c:second/@author" />**</author><xsl:value-of select="c:second" /></bbb>
        </root>
    </xsl:template>
</xsl:stylesheet>

但正如杰里米建议的那样,如果你想进一步深入,你可能会考虑先进行(在线)XSLT培训。

答案 1 :(得分:1)

如果要显示带样式的文本,则必须以html格式显示内容。您应该使用XSLT从XML获取信息,并使用您所需的样式

创建HTML输出