繁体   English   中英

XSLT简单转换

XSLT simple transforming [closed]

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个非常简单的任务,但是我被困在这里。

所以,我有这样的XML文件:

<entries>
<entry>
    <field>field value</field>
</entry>
...
<entry>
    <field>field value</field>
</entry>

并且应该使用XSLT对其进行转换,如下所示:

<entries>
<entry field="field value">
...
<entry field="field value">
</entries>

您能帮我提供模板吗? 非常感谢。

1 个回复

这可以通过以下XSLT完成:

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    version="1.0">
<xsl:output method="xml" omit-xml-declaration="yes" encoding="UTF-8" 
    indent="yes" />
<xsl:strip-space elements="*"/>
  <xsl:template match="/">
    <xsl:apply-templates/>
  </xsl:template>
  <xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
  <xsl:template match="entry">
    <xsl:copy>
        <xsl:attribute name="field">
          <xsl:value-of select="field"/>
        </xsl:attribute> 
      <xsl:apply-templates/>
    </xsl:copy>
  </xsl:template>
  <xsl:template match="field"/>
</xsl:transform>

当应用于示例输入XML

<entries>
  <entry>
    <field>field value 1</field>
  </entry>
  <entry>
    <field>field value 2</field>
  </entry>
</entries>

产生以下输出:

<entries>
 <entry field="field value 1"/>
 <entry field="field value 2"/>
</entries>

模板匹配entry <xsl:template match="entry">

复制entry并将field节点的值添加为属性field

<xsl:copy>
  <xsl:attribute name="field">
    <xsl:value-of select="field"/>
  </xsl:attribute> 
  <xsl:apply-templates/>
</xsl:copy>

并且模板匹配field <xsl:template match="field"/>为空,并删除field节点。

2 简单的XSLT转换为ABAP对象

我再次陷入了从XML到ABAP的转变。 这次,我想将XML数据直接放入ABAP对象中。 我的XML看起来像这样: 编辑:我改回XSLT转换,缩短为一个看起来像这样的属性: 我的对象属性现在都公开了,因为我认为这可能是问题所在。 但是,setter和getter确实存在。 是的,我的课程确实 ...

3 简单类型重复时如何使用xslt转换来转换Xml

我正在尝试使用xslt转换将一个xml转换为另一个xml。 当有一个复杂的节点重复时,所有的节点都经过适当的变换,一切都很好。 如果简单类型正在重复,则将转换相同数量的节点,但是所有节点的值都是第一个节点的值。 这是xml的一部分 这是我的Xslt代码段的一部分 我为每 ...

4 使用XSLT将复杂而简单的XML转换为CSV

我正在尝试使用XSLT将XML(由源生成)转换为CSV。 以下是外部源生成的输入XML。 我不确定这是否是有效的xml,因为Details标签的值很大。 我想创建一个XSLT,可以将XML转换为CSV,如下所示。 我在网上查看了许多链接,但无法创建这样的XSL转换。 请帮忙! ...

5 XQSharp简单的XSLT2转换问题

我想使用XQSharp获得xslt2转换,但是在尝试调用ApplyTemplates时出现异常。 我的代码: &lt;WebMethod()&gt; Public Function test(ByVal inputXml As String, ByVal inputXsl As Stri ...

6 使用XSLT 1.0进行XML的简单转换

我正在尝试使用XSLT将XML从一种格式转换为另一种格式,但这很复杂(至少对我而言),我不确定如何进行。 我需要执行以下逻辑: (以类似C#的伪代码编写) 仅当Type子元素的内容值为“ Rotary”时,才根据第四个Axis元素的内容(如果存在)更新每个Machine的Top ...

7 简单的xslt错误:

因此,我在IE11中运行以下代码: 在第四行,此操作失败,但出现以下Error: the data necessary to complete this operation is not yet available 。 我正在加载的xml是: 我已经检查了xslt的read ...

8 简单的XSLT属性添加

我想在我的XML文档上做一些非常简单的XSLT,其结构如下: 我正在尝试制作一个执行以下操作的XSLT: 复制一切 如果TAG2 @ attribute1 =“A”AND TAG2 @ attribute2 =“B”并且没有TAG2 @ attribute4,则将@ a ...

9 在xslt中显示简单的xml

我花了大约6到7个小时来尝试获取基本的xml页面,至少使用xsl才能显示可读性,并且无法解决。 有那么难吗 还是我只是在艰难地挣扎。 我的xml代码是基本的 是否可以按顺序显示它,以便可以在xsl doc中的几行基本内容中轻松阅读配方? ...

2012-10-24 01:28:36 1 194   xml/ xslt
10 xslt中的简单循环

难以弄清一个简单的XSLT循环,该循环计数并返回参与者的名字。 这就是我要给出所需结果的结果,但是如果有第四或第五个参与者,则需要添加到代码中。 基本上,我需要循环来显示以逗号分隔的星星的名称。 任何帮助表示赞赏。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM