在 XPath 中通过 concat() 换行(\n)?

2023-11-23

所以我的系统中有一个员工的 XML 文档:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<couriersystem title="System"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="schema.xsd">
    <!-- snip -->
    <employees>
        <employee eid="1">
            <nin>AZ123518D</nin>
            <firstname>Peter</firstname>
            <lastname>Smith</lastname>
            <gender>Male</gender>
            <dob>1994-02-11</dob>
            <email>[email protected]</email>
            <address>
                119, London Street, Nidrie, F57 8NE
            </address>
            <tel>07005748900</tel>
            <salary>30526</salary>
            <empbranch bid="1" />
            <supervisor sid="1" />
        </employee>
        <employee eid="2">
            <nin>CN174869F</nin>
            <firstname>Jennifer</firstname>
            <lastname>Black</lastname>
            <gender>Male</gender>
            <dob>1984-12-24</dob>
            <email>[email protected]</email>
            <address>
                161, South Road, Nidrie, W79 8WG
            </address>
            <tel>07555111222</tel>
            <salary>40576</salary>
            <empbranch bid="2" />
            <supervisor sid="1" />
        </employee>
        <employee eid="3">
            <nin>ET127654M</nin>
            <firstname>Aaron</firstname>
            <lastname>Jones</lastname>
            <gender>Male</gender>
            <dob>1968-03-15</dob>
            <email>[email protected]</email>
            <address>
                66, High Road, Yoker, Q47 4SR
            </address>
            <tel>07856471267</tel>
            <salary>30526</salary>
            <empbranch bid="3" />
            <supervisor sid="1" />
        </employee>
        <employee eid="4">
            <nin>GC765238A</nin>
            <firstname>Alistair</firstname>
            <lastname>Smith</lastname>
            <gender>Male</gender>
            <dob>1976-11-26</dob>
            <email>[email protected]</email>
            <address>
                109, West Plaza, Clydebank, G55 8RC
            </address>
            <tel>07000123123</tel>
            <salary>25400</salary>
            <empbranch bid="4" />
            <supervisor sid="1" />
        </employee>
        <employee eid="5">
            <nin>HP146854D</nin>
            <firstname>Emma</firstname>
            <lastname>Reynolds</lastname>
            <gender>Male</gender>
            <dob>1995-05-05</dob>
            <email>[email protected]</email>
            <address>
                57, Scott Street, Aberdeen, O75 2KS
            </address>
            <tel>07625361536</tel>
            <salary>25400</salary>
            <empbranch bid="5" />
            <supervisor sid="7" />
        </employee>
        <!-- snip -->
    </employees>
    <!-- snip -->
</couriersystem>

我有以下 XPath 来检索主管的所有员工详细信息:

//employee[supervisor/@sid='1']/concat('Name: ', concat(firstname/text(), ' ', lastname/text(), '\nGender: ', gender/text(), '\nD.O.B: ', dob/text()))

但它只显示了其余员工中的一名员工,并且\n人物也表现出来。

我该如何解决这个问题?


To get \n被解释为concat()在 XPath 中,使用codepoints-to-string(10)[信用:@madcrazydrumma]:

//employee[supervisor/@sid='1']/concat('Name: ', firstname, ' ', lastname, 
                                       codepoints-to-string(10),
                                       'Gender: ', gender, 
                                       codepoints-to-string(10),
                                       'D.O.B: ', dob)

然后将返回结果如下:

Name: Peter Smith
Gender: Male
D.O.B: 1994-02-11
Name: Jennifer Black
Gender: Male
D.O.B: 1984-12-24
Name: Aaron Jones
Gender: Male
D.O.B: 1968-03-15
Name: Alistair Smith
Gender: Male
D.O.B: 1976-11-26

小提示:您的基本 XPath 2.0 表达式结果很好。正如我们在评论中发现的那样,由于网站的限制,结果不正确,xpathtester.com/xpath. Use videlibri.sourceforge.net/cgi-bin/xidelcgi而是用于在线 XPath 2.0 测试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 XPath 中通过 concat() 换行(\n)? 的相关文章

  • 如何通过 HTTP POST 发送充满对象的 NSArray?

    我在 iPhone 端有一个产品 购物清单 由具有名称 product id 等的产品对象组成 我希望将此列表发送到服务器 在那里我将服务器上的列表与 iphone 中的列表进行比较 以合并所做的更改并将合并的列表发送回 iphone 如何
  • 使用 XSLT 对重复的 XML 数据进行分组

    我有一个 XML 需要转换为更好的项目分组 需要对物品进行计数 不知道会有多少只狗 出现在列表中 我可能不知道有多少关于 会有狗 在示例中有三个 但也可以是 任何数字 如果这不能灵活 那么固定数量也可以 最好是 XSLT 1 0 这可能吗
  • OpenXML:添加新段落时插入了lastRenderedPageBreak

    我使用 OpenXML 添加一个新段落 如下所示 var pSpacerAfterSectorTitle insertNodeSectorsArea AppendChild GetNewParagraph Arial 12 true fal
  • 有没有一种简单的方法可以在 Eclipse 的 java 项目中使用 XML 资源?

    我想用 java 解析 XML 文件 好吧 很简单 如果我可以使用在同一个 Eclipse 项目的文件夹 我们称之为 资源 文件夹 中创建的 XML 文件 那就太好了 由于版本控制 多个开发平台和总体简单性等问题 拥有此功能而不是访问文件系
  • 使用 lxml 和 xpath 解析 xml 文件时如何保留 &

    我试图从输入 xml 文件中提取一些信息 并使用 lxml 和 xpath 指令将其打印到输出文件中 我在读取如下所示的 xml 标签时遇到问题
  • Java,根据 WSDL 中的嵌入模式验证 XML

    我有一个 wsdl具有嵌入架构的文件 我想使用它来验证 XML 文件 字符串 wsdl文件 与验证的方式相同 xsd 该架构位于
  • lxml 属性需要完整的命名空间

    下面的代码使用 lxml python 3 3 从 Excel 2003 XML 工作簿中读取表格 该代码工作正常 但是为了通过 get 方法访问 Data 元素的 Type 属性 我需要使用键 urn schemas microsoft
  • 用于打开大(巨型、巨大、大)文本文件的文本编辑器[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • AttributeError:“列表”对象没有属性“文本”,在 DOM 中查找元素时出错

    我尝试在树 DOM 中查找元素 但遇到问题 我写 age browser find elements by xpath div id ads ul li 6 span 2 text 但它一直显示我的错误 属性错误 列表 对象没有属性 文本
  • 如何从java中的org.w3c.dom.Node获取html?

    我构建了一个使用 saxon he 的 xpath 组件从 html 文档中提取数据的方法 我为此使用 w3c dom 对象模型 我已经创建了一个返回文本值的方法 类似于 jsoup 中的文本值方法 jsoup Element text p
  • ScrollView 截掉顶部并在底部留出空间

    当我启动模拟器并进入使用此代码的屏幕时 它显示了大部分文本信息 但切断了屏幕顶部 无法向上滚动 但在底部留下了一些空间 这是代码
  • 如何将数组内部指针设置到特定位置? PHP/XML

    我正在尝试使用 XML 而不是数据库来构建一个小网站 我想构建一个下一个和上一个按钮 该按钮将与我显示的内容相关 我找到了 php 函数 next 和 prev 以及 current 但我不知道如何将指针设置到特定位置以便能够相对于当前页面
  • 如何在Odoo Reports的所有页面添加水印?

    使用下面的代码它只是在第一页上查看 我想在所有页面上显示水印 div class watermark report img div 你已经有了答案here https stackoverflow com a 49160954 4891717
  • 在Java中解析各种自定义XML文档的最佳方法

    使用 Java 解析多个离散的自定义 XML 文档的最佳方法是什么 我会用Stax http jcp org en jsr detail id 173解析 XML 它快速且易于使用 我在上一个项目中一直使用它来解析最大 24MB 的 XML
  • 如何在 Golang 中将 []byte XML 转换为 JSON 输出

    有没有办法在 Golang 中将 XML byte 转换为 JSON 输出 我有以下功能body is byte但我想在一些操作之后将此 XML 响应转换为 JSON 我试过了Unmarshal in xml打包没有成功 POST func
  • 在c中使用xslt创建xml文件

    我有 5 个不同的键 值对 并且我知道我的 xml 文件应该是什么样子 我怎样才能用它创建一个 xml 文件 1 我总是可以做 printf 不太好 2 我可以使用 xslt 样式表 xsl 文件 来执行此操作吗 而且 我还希望能够进行我刚
  • 如何从 PHP 输出 XML 字符串

    我正在获取一个 XML 字符串并在 PHP 中对其进行编辑 以便在访问 PHP 文件时最终输出编辑后的 XML 字符串 我一直在尝试使用 echo 和 print 来输出 XML 文档 但它只打印最里面标签内的数据 我希望它的功能就像直接加
  • 如何在 Android 应用程序中使用 xmlserializer 创建 xml

    您好 我正在制作一个预订应用程序 我需要在创建 xml 后将 xml 发送到服务器 如何使用创建 xmlxmlserializer创建后将其发送到服务器 http api ean com ean services rs hotel v3 l
  • Android 子菜单布局

    我读到 Android 中的子菜单不支持图标 我想知道这是否已经改变 或者是否有类似的方法来生成支持图标的 子菜单 Currently This is My Submenu 这是它的 XML 文件 menu menu
  • 按钮 - 单击时更改背景颜色

    我的活动中有 8 个按钮 我正在寻找的是 按钮具有默认背景 单击按钮时 背景颜色应更改为其他颜色 这部分非常简单 但是 当我单击任何其他按钮时 第一个按钮的背景颜色应该变回默认颜色 我知道这将使用 选择器状态 来完成 但我不太确定如何实现它

随机推荐

  • SQL Server触发器-使用deletetime将删除的记录插入到另一个表中

    目前我有一个 Item 表和一个 ItemWaste 表 两个表都会有一些字段 例如 名称 金额等 但是 ItemWaste 表还会多一个字段 即 TimeWasted 我希望自动将 Item 表中的 DELETED 项目插入到 ItemW
  • 如何在Qt中实现下拉单词建议?

    假设我有 10 个名字QListWidget 这是隐藏的 和一个aQLineEdit 现在 如果我在 编辑 行中输入字母 a 它应该显示列表小部件中以字母 A 开头的所有名称的下拉列表 用户可以使用鼠标或键盘进行选择 因为会有一个垂直滚动条
  • 将 JSON 字符串解码为类对象

    private func createWeatherObjectWith json Data x Any Type completion escaping data Any error Error gt Void do let decode
  • 指针和数组的区别[重复]

    这个问题在这里已经有答案了 可能的重复 char str STRING 和 char str STRING 之间的区别 C 指针和数组的区别 Hi 谁能告诉我以下陈述之间的区别 char p This is a test char a Th
  • android 中如何知道某个应用程序将被卸载?

    我想实现像 AppLock 应用程序正在做的事情 如果在其设置中设置为锁定应用程序卸载 安装 则在卸载任何应用程序时 恰好单击卸载按钮 会出现一个锁屏 要求输入密码 图案 只有输入密码后 用户才可以卸载应用程序 当一个人得到的意图是什么 或
  • 在事件处理程序中使用它

    我试图寻找它的意义thisDOM 级别 3 事件规范中事件处理函数内的关键字 根据我的实验this指的是event currentTarget object 标准中是否提到了这种行为 根据 JavaScript 权威指南 一书this指的是
  • iOS Safari 滚动到顶部在某些页面上不起作用。为什么?

    免责声明 该网站同时已更新 新版本的设计不再出现此问题 在我建立的一个新网站上 我注意到 Safari iOS 5 中有一个奇怪的怪癖 通常 您可以点击 Safari 顶部的黑条来滚动到任何网页的顶部 在我的新网站上 这适用于主页 但不适用
  • 如何在经典 ASP 中使变量静态(或“全局”)?

    我想让我的变量静态或 全局 因此与 NET 中的静态效果相同 访问它的每个会话都会得到相同的结果 如果一个会话修改它 它也会影响其他所有人 如何在经典 ASP 中实现这一目标 如果您想要一个可在应用程序范围内访问的变量 则可以使用应用程序对
  • 在 numpy 数组中设置空值

    如何根据条件将 numpy 数组中的某些值设为 null 我不明白为什么在不满足条件的情况下我最终会得到 0 而不是 null 或空值 b 是一个填充有 0 和 1 值的 numpy 数组 c 是另一个完全填充的 numpy 数组 所有阵列
  • Visual Studio 2008 中的 WatiN - 第二个测试方法失败

    当尝试在 Visual Studio 2008 中运行一个非常简单的 WatiN 2 0 CTP3 测试时 我发现第一个测试总是执行得很好 第二个测试方法似乎破坏了 IE 对象中的某些内容 产生以下异常 测试方法 testProject W
  • 如何使用自定义 IXmlSerialized 作为 XmlAttribute?

    我实施IXmlSerializable对于以下将 RGB 颜色值编码为单个字符串的类型 public class SerializableColor IXmlSerializable public int R get set public
  • 安装 Tensorflow 时出错 - Python 3.8

    我是编程新手 正在学习必须安装 Tensorflow 的课程 问题是我正在使用 Python 3 8 据我所知 Tensorflow 不支持它 我已经下载了 Python 3 6 但我不知道如何将其切换为默认的 python 版本 最好使用
  • 不同文化中的 JavaScript parseFloat

    我对 JavaScript 的 parseFloat 函数在世界不同地区的默认行为有疑问 在美国 如果对字符串 123 34 调用 parseFloat 您将得到浮点数 123 34 如果我在瑞典或巴西开发代码 并且他们使用逗号而不是句点作
  • 是否可以“git diff”2 个字符串?

    我有 2 个字符串 我想要它们之间的 git diff 我可以创建 file1 并添加 string1 作为其内容 然后我可以创建 file2 并添加 string2 作为其内容 然后我可以 git diff file1 和 file2 但
  • 配置错误:未满足包要求(sqlite3 > 3.7.4)

    我正在尝试按照以下说明在 Centos 7 上安装 php https www php net manual en install unix nginx php 我的nginx版本 nginx 1 19 0 我从下载了 php 7 4 6
  • React:useState 还是 useRef?

    我正在阅读有关 React 的内容useState and useRef at 挂钩常见问题解答 我对一些用例感到困惑 这些用例似乎同时具有 useRef 和 useState 的解决方案 而且我不确定哪种方式是正确的 来自 Hook 常见
  • 使两列高度相同

    我正在尝试制作 2 列设计 使用推特引导程序 有 2 根等高的柱子 让我们看这个例子 div class row fluid div class span2 ul li Item 1 li li Item 2 li li Item 3 li
  • 如何在依赖检查之前运行 Maven 插件

    我想在依赖项检查之前运行 maven install plugin 我怎样才能做到这一点 插件配置
  • 如何删除轮廓 mat-form-field 边框角半径

    我正在使用角材料轮廓垫形式场来设计形式 我得到了带有边框角半径的默认 mat form field 轮廓文本框视图 有什么方法可以删除轮廓 mat form field 的边框角半径并转换为方形文本框视图 我尝试使用以下内容更改角度材料 m
  • 在 XPath 中通过 concat() 换行(\n)?

    所以我的系统中有一个员工的 XML 文档