首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用XSLT反转XML数据标记?

如何使用XSLT反转XML数据标记?
EN

Stack Overflow用户
提问于 2011-04-08 13:50:43
回答 2查看 395关注 0票数 2

例如,下面的XML文件。

代码语言:javascript
复制
<person>
<name>Adam</name>
<lname>Palmer</lname>
<profession> Programmer</profession>
<salary>80,000</salary>
</person>

现在,在XSLT中,如果我编码,

代码语言:javascript
复制
<xsl:template match="person">
 <xsl:apply-templates/><xsl:text> </xsl:text>
</xsl:template>

因此,在HTML文件中它将显示: Programmer程序员80,000。

但是我需要以下输出:Palmer程序员80,000.

我需要颠倒前两个数据标签的顺序。

知道吗伙计们?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-08 15:02:09

推送样式样式表:

代码语言:javascript
复制
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:strip-space elements="*"/>
    <xsl:template match="person/*">
        <xsl:apply-templates/>
        <xsl:text>&#x20;</xsl:text>
    </xsl:template>
    <xsl:template match="person">
        <xsl:apply-templates select="lname"/>
        <xsl:apply-templates select="name"/>
        <xsl:apply-templates select="*[not(self::name|self::lname)]"/>
        <xsl:text>&#xA;</xsl:text>
    </xsl:template>
</xsl:stylesheet>

输出:

代码语言:javascript
复制
Palmer Adam  Programmer 80,000
票数 1
EN

Stack Overflow用户

发布于 2011-04-08 13:53:14

您可以轻松地处理每个标签。

但是,如果逻辑是正确的,除了名字和名字,我会隔离他们。

就像这样:

代码语言:javascript
复制
<person>
<name>
  <fname>Adam</fname>
  <lname>Palmer</lname>
</name>
<profession> Programmer</profession>
<salary>80,000</salary>
</person>

这样,您就可以为<name>标记添加一个单独的模板。

当然,xml的结构通常是不可更改的:

代码语言:javascript
复制
<xsl:template match="person">
 <xsl:apply-templates select="lname"/></xsl:text>
 <xsl:apply-templates select="name"/></xsl:text>
 < -- rest of the tags --> 
</xsl:template>


<xs:template match="lname>
   <xsl:value-of "." />
</xsl:template>    


<xs:template match="name>
   <xsl:value-of "." />
</xsl:template>

以此类推。

这样可能会产生更多类似代码的样板,但您可以获得灵活性(当标记需要分离逻辑时)。

注:这可能不是复制粘贴材料,只是键入它,没有可能进行测试,逻辑仍然保留。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5596092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档