XSLT 输出不符合预期

2024-05-26

我需要删除父 xml 节点并复制节点内的整个 xml。我已经编写了一个 xslt 代码,但是它没有按预期工作。

输入 XML:

<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
  <ns0:Message1>
    <ns3:Response xmlns:ns3="urn:enoc.com:HTRUAE:EmployeeLeavesData_Portal">
      <EmployeeLeave>
        <EmployeeID>100064</EmployeeID>
        <EmployeeAbsenceDays>1</EmployeeAbsenceDays>
      </EmployeeLeave>
      <EmployeeLeave>
        <EmployeeID>100065</EmployeeID>
        <EmployeeAbsenceDays>1</EmployeeAbsenceDays>
      </EmployeeLeave>
    </ns3:Response>
  </ns0:Message1>
</ns0:Messages>

XSLT 映射:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <Response xmlns:ns3="urn:enoc.com:HTRUAE:EmployeeLeavesData_Portal">
      <xsl:copy-of select="Messages/Message1/Response/EmployeeLeave" />
    </Response>
  </xsl:template>
</xsl:stylesheet>

我得到的输出:

<?xml version="1.0" encoding="UTF-8"?>
<Response xmlns:ns3="urn:enoc.com:HTRUAE:EmployeeLeavesData_Portal" />

预期输出:

<ns3:Response xmlns:ns3="urn:enoc.com:HTRUAE:EmployeeLeavesData_Portal">
  <EmployeeLeave>
    <EmployeeID>100064</EmployeeID>
    <EmployeeAbsenceDays>1</EmployeeAbsenceDays>
  </EmployeeLeave>
  <EmployeeLeave>
    <EmployeeID>100065</EmployeeID>
    <EmployeeAbsenceDays>1</EmployeeAbsenceDays>
  </EmployeeLeave>
</ns3:Response>

在 XSLT 2 或 3 中您可以使用

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    exclude-result-prefixes="#all"
    version="3.0">

 <xsl:template match="/">
     <xsl:copy-of select="//ns3:Response" copy-namespaces="no" xmlns:ns3="urn:enoc.com:HTRUAE:EmployeeLeavesData_Portal"/>
 </xsl:template>
 
</xsl:stylesheet>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XSLT 输出不符合预期 的相关文章

随机推荐

  • 如何修复 TcpClient Ip 标头错误校验和

    我正在使用 System Net Sockets TcpClient 类 但每当我通过网络发送自定义数据包时 我都会在wireshark捕获上看到错误的校验和 我该如何修复它 问题是您在网络接口上设置了校验和卸载 这会导致您的网卡计算校验和
  • 如何获取 PropertyGrid 的单元格值 (c#)?

    如何在 C 中获取属性网格项和项的值 例如 Name Ali LastName Ahmadi Name 和 LastName 是 propertygrid 的 2 个属性 PropertyGrid只是对象的组件模型表示的视图 我会说 查看组
  • 无法转换“String!”类型的值预期参数类型错误

    我有一个公共职能 public func lastActivityFor userName String gt String 后来我想将其称为 OneLastActivity lastActivityFor username 但最后一行出现
  • 错误:找不到符号 ArrayList

    我正在尝试创建某种列表来存储数组 表 中的值 我在这里使用数组列表 但我应该使用列表吗 但是 每次我尝试编译时 它都会引发以下错误 找不到标志 符号 ArrayList类 位置 玩家类 TablePlayer 代码如下 public cla
  • FPC:RTTI 记录

    这是我第一次访问这个网站 通常 我可以毫无问题地在旧帖子中找到回复 但我无法成功解决我的实际问题 我想知道如何使用 RTTI 函数在运行时了解 Lazarus FPC 下记录的属性 成员 我知道如何为类 Tpersistent 后代和已发布
  • 序列化 Django Rest 框架时的附加字段

    我是 django 休息框架的新手 并创建了一个示例Employee model My 模型 py class Employees models Model created models DateTimeField auto now add
  • Ruby,通过 SSH 和 LOG 逐一运行 linux 命令

    我想用 Ruby 女巫 net ssh 编写代码 在远程 Linux 机器上一一运行命令并记录所有内容 在 Linux 机器上称为命令 stdout 和 stderr 所以我写函数 def rs ssh cmds cmds each do
  • 使用 pywin32com 进行 opc 的内存泄漏

    我很难弄清楚如何解决内存泄漏问题 我认为这可能是 pywin32 的问题 但我不完全确定 我用于读取 写入单个项目的代码似乎工作得很好 但是当使用组函数时 它会慢慢泄漏内存 我怀疑这是来自必须在 server handles 中传递的基于
  • Node Js - 识别请求是来自移动设备还是非移动设备

    我对 Node js 还是个新手 是否有任何解决方法或方法如何使用 Node js 识别来自客户端的请求是来自移动设备还是非移动设备 因为我现在正在做的是我想根据设备类型 移动 桌面 限制对某些 API 的访问 我在服务器端使用restif
  • 如何使用networkx删除有向图中的所有相关节点?

    我不确定我的问题的正确术语是什么 所以我只会解释我想做的事情 我有一个有向图 删除节点后我希望所有独立相关的节点也被删除 这是一个例子 假设我删除节点 11 我希望节点 2 也被删除 在我自己的示例中 它们将是 2 以下的节点 现在也必须删
  • html div位置和显示

    Hi 我正在尝试设计一个网站 使用 5 个不同的 div 如上所示 A 是标题 背景图像 重复 x B 是导航栏 1 div 内的图像 应具有 100 高度 C 是内容面板 div 应该是页面滚动期间唯一移动的部分 D 是页脚 div 应始
  • Java 堆分析因 SIGABRT 崩溃

    我正在尝试分析由 C 编写的方法分配并插入的本机内存JVM通过JNI 我安装了 valgrind version valgrind 3 13 0 并尝试使用以下选项运行 JVM valgrind tool massif massif out
  • 用于轻松动态反射的 C# 库

    是否有任何库 例如开源项目等 可以更轻松地使用复杂的反射 例如动态创建对象或类 检查实例等 Thanks 有一个LinFu http www codeproject com KB cs LinFuPart1 aspx可用的库除了反射之外还可
  • 树莓派上的 /dev/mem 访问被拒绝

    我正在使用我的 Raspberry Pi 并且正在编写一个 cgi python 脚本 该脚本创建一个网页来控制我的 gpio 输出引脚 当我尝试将 RPi GPIO 作为 GPIO 导入时 我的脚本崩溃了 这是我收到的错误 File co
  • 使用 div 标签定位元素

    div class HeaderLink div class HeadPanelElement a href Blog a div div
  • 谷歌地图上太多图钉的最佳解决方案

    这是我的 Google 地图 设置 我从数据库中读取了所有标记的位置 低于 300 将它们作为 Json 发送到 javascript 在 javascript 上 我解析 json 查看标记数组并创建一个新的 google maps Ma
  • 如何让更宽的图像在后台滚动

    就像 LinkedIn 中的前三个屏幕一样 Splash 登录 注册按钮 登录 注册表单 它们都具有相同的背景图像 但是当我们从一个活动移动到另一个活动时 背景图像从右滚动到左侧 我只能尝试overridePendingTransition
  • R 是解释型编程语言还是编译型编程语言?

    R 是解释型编程语言还是编译型编程语言 The R FAQ https cran r project org doc FAQ R FAQ html What is R 003f说 R 的核心是一种解释型计算机语言
  • 如何重命名 .tar.gz 文件而不提取内容并在 UBUNTU 中创建新的 .tar.gz 文件?

    我有一个命令将创建一个新的 tar gz现有文件中的文件 sudo tar zcvf Existing tar gz New tar gz 该命令将创建一个新的New tar gz从现有的文件Existing tar gz file 谁能告
  • XSLT 输出不符合预期

    我需要删除父 xml 节点并复制节点内的整个 xml 我已经编写了一个 xslt 代码 但是它没有按预期工作 输入 XML