首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从元素文本创建标记QNames

从元素文本创建标记QNames
EN

Stack Overflow用户
提问于 2016-01-18 19:47:48
回答 1查看 22关注 0票数 0

我有两个与将XML转换为XML有关的问题。

  1. 如何创建一个名为现有元素的值的新元素(在我的示例中,现有元素<author>的值是Mike,我想要创建一个名为Mike的新标记)。
  2. 如何创建一个新元素,其中属性名是现有元素的值(在我的示例中,现有元素<grade>的值为5,我希望生成一个名为Mike的新标记,其属性名为"5")。以下是我的例子:

现有XML:

代码语言:javascript
复制
<art>
  <images>
    <image>
      <title>Cat</title>
      <author>Mike</author>
      <grade>5<grade>
    </image>
    <image>
      <title>Snake</title>
      <author>John</author>
      <grade>4<grade>
    </image>
  </images>
</art>

标签艺术中的新元素:

代码语言:javascript
复制
<authors>
  <Mike grade="5">
    <field_of_art>photography</field_of_art>
  </Mike>
</authors>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-18 19:54:52

因此,您可以使用<xsl:element><xsl:attribute>标记来完成这一任务:

代码语言:javascript
复制
<!-- assumes the current context is an image tag -->
<xsl:element name="{author}">
    <xsl:attribute name="grade">
        <xsl:value-of select="grade" />
    </xsl:attribute>
    <field_of_art>photography</field_of_art>
</xsl:element>

但是要注意--如果author标记包含空格或无效字符,它将无法工作。例如,如果您有一个<author>Mike 2</author>,样式表将失败,因为标记名不能有空格,或者如果有一个<author>Mike&amp;Jane</author>,它也会失败。

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

https://stackoverflow.com/questions/34862865

复制
相关文章

相似问题

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