Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将某些子节点下移到新的子节点级别

将某些子节点下移到新的子节点级别
EN

Stack Overflow用户
提问于 2010-09-03 00:25:42
回答 1查看 758关注 0票数 3

我发现了关于将节点向上移动到父节点的其他问题,但我错过了将它们向下移动到新创建的节点中的技巧。

给定:

代码语言:javascript
运行
AI代码解释
复制
<Villain>
  <Name>Dr Evil</Name>
  <Age>49</Age>
  <Like>Money</Like>
  <Like>Sharks</Like>
  <Like>Lasers</Like>
</Villain>

我正在尝试使用XSLT将其转换为:

代码语言:javascript
运行
AI代码解释
复制
<Villain>
  <Name>Dr Evil</Name>
  <Age>49</Age>
  <Likes>
    <Like>Money</Like>
    <Like>Sharks</Like>
    <Like>Lasers</Like>
  </Likes>
</Villain>

换句话说,插入一个新的子节点,并移动它下面所有名为"Like“的子节点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-03 01:03:46

此转换

代码语言:javascript
运行
AI代码解释
复制
<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="node()|@*" name="identity">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
     </xsl:copy>
 </xsl:template>

  <xsl:template match="Like[1]">
   <Likes>
    <xsl:apply-templates select="../Like" mode="copy"/>
   </Likes>
  </xsl:template>

   <xsl:template match="*" mode="copy">
    <xsl:call-template name="identity"/>
   </xsl:template>
   <xsl:template match="Like"/>
 </xsl:stylesheet>

在所提供的XML文档上应用时的

代码语言:javascript
运行
AI代码解释
复制
<Villain>
  <Name>Dr Evil</Name>
  <Age>49</Age>
  <Like>Money</Like>
  <Like>Sharks</Like>
  <Like>Lasers</Like>
</Villain>

生成所需的、正确的结果

代码语言:javascript
运行
AI代码解释
复制
<Villain>
   <Name>Dr Evil</Name>
   <Age>49</Age>
   <Likes>
      <Like>Money</Like>
      <Like>Sharks</Like>
      <Like>Lasers</Like>
   </Likes>
</Villain>

注意到

使用和覆盖 identity rule.

  • The use of modes以指定稍有不同的处理。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3632244

复制
相关文章
MyBatis框架动态查询Sql
今天写一个接口,查询监测数据,传感器有100多个监测因子,也就是数据库中一条数据对应100多个字段,前端勾选需要查询的监测因子,所以接口就需动态查询字段,幸运的是Mybatis支持这种查询
赵哥窟
2020/07/28
6010
Mybatis框架 动态字段查询数据
今天写一个接口,查询监测数据,传感器有100多个监测因子,也就是数据库中一条数据对应100多个字段,前端勾选需要查询的监测因子,所以接口就需动态查询字段,幸运的是Mybatis支持这种查询
赵哥窟
2020/07/09
1.7K0
C# 根据前台传入实体名称,动态查询数据
项目中时不时遇到查字典表等数据,只需要返回数据,不需要写其他业务,每个字典表可能都需要写一个接口给前端调用,比较麻烦,所以采用下面这种方式,前端只需传入实体名称即可,例如:SysUser
郑子铭
2023/08/29
3290
C# 根据前台传入实体名称,动态查询数据
PostgreSQL中的查询:1.查询执行阶段
PG客户端-服务协议的基本目的是双重的:将SQL查询发送到服务,接收整个执行结果作为响应。服务接收到查询去执行要经过几个阶段。
yzsDBA
2022/03/29
3.3K0
PostgreSQL中的查询:1.查询执行阶段
实体中时间类型LocalDateTime,查询的时候mybatis报错
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149340.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/04
7190
Spring框架中的异步执行
在Spring Framework中分别使用TaskExecutor和TaskScheduler接口提供异步执行和任务调度的抽象,本节我们着重讲解基于TaskExecutor支撑的的注解@Async如何实现异步处理的。
Bug开发工程师
2019/12/31
8490
kettle中实现动态SQL查询
在ETL项目中,通常有根据运行时输入参数去执行一些SQL语句,如查询数据。本文通过kettle中的表输入(“table input”)步骤来说明动态查询、参数查询。示例代码使用内存数据库(H2),下载就可以直接运行,通过示例学习更轻松。
全栈程序员站长
2022/09/09
5.8K0
kettle中实现动态SQL查询
Spring框架中动态代理
在上一篇中我们已经介绍了AOP相关的知识,并且了解了spring是通过动态代理的方式实现AOP逻辑的。在spring中动态代理也分为两种一种是JDK动态代理,一种是CGLib动态代理。下面我们看一下这两种动态代理的区别。我们首先看一下在没有动态代理时,添加事物的的逻辑处理,也就上一篇中的事例。
吉林乌拉
2019/08/14
1.7K0
Springboot中对jpa动态查询条件的封装
jpa对于固定参数的条件查询比较简单,可以在Repository中直接用参数名来查询。但是对于不固定的参数查询就比较麻烦了,官方提供的是继承JpaSpecificationExecutor,然后自己拼接Specification。这一篇主要是对Specification进行封装,让写法更友好. 代码参考:http://lee1177.iteye.com/blog/1994295。感觉还不够完整,回头使用中再补上。
天涯泪小武
2019/01/17
2.8K0
使用sp_executesql存储过程执行动态SQL查询
The sp_executesql stored procedure is used to execute dynamic SQL queries in SQL Server. A dynamic SQL query is a query in string format. There are several scenarios where you have an SQL query in the form of a string.
全栈程序员站长
2022/08/31
1.9K0
使用sp_executesql存储过程执行动态SQL查询
利用动态 tracing 技术来 trace 内核中的网络请求
这周帮朋友用 eBPF/SystemTap 这样的动态 tracing 工具做了一些很有趣的功能。这篇文章算是一个总结
青南
2021/06/23
1.9K0
利用动态 tracing 技术来 trace 内核中的网络请求
Java中的动态代理以及在框架中的应用
我们先假设现在有怎么一个需求,要求你在不改动原有代码的情况下在所有类的方法前后打印日志。我们很容易想到静态代理,具体做法如下:
烂猪皮
2021/06/09
1.4K0
Java中的动态代理以及在框架中的应用
MySQL 查询执行的过程
查询的生命周期大致可以按照顺序来看:从客户端到服务端,然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端。其中 “执行” 可以认为是整个生命周期中最重要的阶段,其中包括了大量为了检索数据到存储引擎的调用以及调用后的数据处理,包括排序分组等。当希望 MySQL 能够以高性能的方式运行查询时,最好的办法就是弄清楚 MySQL 是如何优化和执行查询的。MySQL 执行一个查询的过程,如下:
Java架构师必看
2021/05/14
2.3K0
MySQL 查询执行的过程
Oracle——无法在查询中执行 DML 操作
create or replace function test_f(id varchar2) return varchar2 is Result varchar2(100); begin insert into sfcs_temp_17109 (sn)values(id);
_一级菜鸟
2019/09/10
4.5K0
Oracle——无法在查询中执行 DML 操作
Rafy 领域实体框架设计 - 重构 ORM 中的 Sql 生成
前言 Rafy 领域实体框架作为一个使用领域驱动设计作为指导思想的开发框架,必然要处理领域实体到数据库表之间的映射,即包含了 ORM 的功能。由于在 09 年最初设计时,ORM 部分的设计并不是最重要的部分,那里 Rafy 的核心是产品线工程、模型驱动开发、界面生成等。所以当时,我们简单地采用了一个开源的小型 ORM 框架:《Lite ORM Library》。这个 ORM 框架可以生成比较简单的 Sql 语句,以处理一般性的情况。 随着不断使用,我们也不断对 ORM 的源码做了不少改动,让它在支持简单
用户1172223
2018/01/26
2.1K0
执行&查询引擎
Hive支持使用Spark作为底层执行引擎,以获得比MapReduce更快的处理性能。
十里桃花舞丶
2021/09/10
4130
PostgreSQL查询当前执行中SQL的执行计划——pg_show_plans
如果同样的SQL要执行很多遍,且每次都是同样的执行计划、每次都发生硬解析,则会消耗大量时间。类似于Oracle存放执行计划的library cache,PG也有一个类似的概念——plan_cache。但实际上,PG提供的是预备语言(preparedstatement),它要求应用给这个语句进行标识后,再通过这个标识请求服务端执行,并且由应用负责回收。
数据和云
2021/08/27
3K0
PostgreSQL查询当前执行中SQL的执行计划——pg_show_plans
MySQL查询执行的过程
当我们希望MySQL能够以更高的性能进行查询时,弄清楚MySQL中是如何优化和执行查询的就显得很有必要,这里,先搬出来一张图镇楼:
AsiaYe
2019/11/06
2.1K0
MySQL查询执行的基础
当我们希望MySQL能够以更高的性能运行查询时,最好的办法就是弄清楚MySQL是如何优化和执行查询的。一旦理解了这一点,很多查询优化工作实际上就是遵循一些原则让优化器能够按照预想的合理方式运行
星哥玩云
2022/08/17
1.4K0
MySQL查询执行的基础
记录ci框架中定时任务的执行[通俗易懂]
1.控制器中方法的确定,我的控制器/方法:v3/Facesecret/horoscopearticle;确保在Postman中可以成功执行
全栈程序员站长
2022/07/11
1K0
记录ci框架中定时任务的执行[通俗易懂]

相似问题

从HTTP报头复制Post操作

11

如何设置HTTP报头

12

HTTP报头

50

如何重新排序HTTP报头?

10

AngularJS: Http报头

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档