如何根据具有命名空间的唯一元素或 ID 对元素进行排序和分组

Posted

技术标签:

【中文标题】如何根据具有命名空间的唯一元素或 ID 对元素进行排序和分组【英文标题】:how to sort elements and group them based on unique element or ID, which has namespace 【发布时间】:2011-09-26 13:16:04 【问题描述】:

我问过同样的问题,但没有问过命名空间

我有一个类似 ..this 的 xml

237NV0511201114207237NV0511201119212237NV0511201129230

输出应该是这样的

237NV0511201114207NV0511201119212NV0511201129230

以下是下面的 xslt,我正在尝试但没有得到想要的结果

【问题讨论】:

这是一个非常基本的分组问题,您觉得其中哪一部分有困难?为什么命名空间会影响问题?如果不知道您的困难在哪里,就很难回答这些问题——我们不知道您知道多少。有人可能只是为您编写代码,但我倾向于避免这种情况 - 无法保证人们会理解代码,如果他们不理解,他们往往会直接回来提出另一个问题。 请接受上一个类似问题中最能反映您的要求的答案之一。该答案将用于后续回答。 【参考方案1】:

xsl:stylesheet 元素上定义xmlns:ns0="http://xmlns.oracle.com/pcbpel/adapter/db/FinalDbGetUserId",然后在样式表中匹配或从该命名空间中选择元素的任何位置使用前缀ns0,例如<xsl:key name="kuserID" match="ns0:USERUBSCRIBERS" use="ns0:USER_ID"/><xsl:sort select="ns0:USER_ID" data-type="number"/>

【讨论】:

以上是关于如何根据具有命名空间的唯一元素或 ID 对元素进行排序和分组的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Nokogiri Builder 创建具有命名空间根元素的 XML 文档

XML名命空间

从具有多个命名空间的 XElement 中获取元素

具有 ::before 的 WebDriver 选择元素

元素ID命名规范

命名空间“...”中的元素“...”具有无效的子元素,即使模式中存在子元素