首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果属性与另一个文件中的值匹配,如何从XML中删除节点?

如果属性与另一个文件中的值匹配,如何从XML中删除节点?
EN

Stack Overflow用户
提问于 2018-11-20 05:06:53
回答 1查看 28关注 0票数 1

假设我有一个如下所示的xml文件:

代码语言:javascript
复制
<client name="Mary" id="123"/>
<client name="Anthony" id="456"/>
<client name="Theo" id="789"/>

我想从另一个文件中删除id等于其中一个值的所有节点。另一个文件是纯文本文件,但如果这样可以简化解决方案,则可以将其更改为xml。

代码语言:javascript
复制
List_Of_Ids.txt:
123
789

我需要最终结果是:

代码语言:javascript
复制
<client name="Anthony" id="456"/>

还要考虑的是,客户端xml列表和ids列表都包含数百条记录。

我想做一些类似以下的事情:

代码语言:javascript
复制
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
<xsl:param name="ids-to-delete" select="123, 789"/>
<xsl:mode on-no-match="shallow-copy"/>
<xsl:template match="client[id = $ids-to-delete]"/>
</xsl:stylesheet>

但我希望从List_Of_Ids.txt中读取它们,而不是列出要删除的所有I。

有个仁慈的灵魂能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2018-11-20 06:01:58

使用<xsl:param name="ids-to-delete" select="unparsed-text-lines('List_Of_Ids.txt')"/>,请参见https://www.w3.org/TR/xpath-functions/#func-unparsed-text-lines

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

https://stackoverflow.com/questions/53382630

复制
相关文章

相似问题

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