【发布时间】:2021-02-25 00:04:11
【问题描述】:
我有一个从 XML 中删除 xmlns 引用的正则表达式。当有匹配的标签时它工作正常,但如果 xmlns 引用在单个标签中,它也会删除“/”。
这是正则表达式:
"<(.*?) xmlns[:=].*?>", "<$1>"
当我在这行 xml 上使用正则表达式时:
<ns22:someTagName xmlns:ns22="http://exampledatatypes.com"></ns22:someTagName>
我得到了我想要的:
<ns22:someTagName></ns22:someTagName>
当我在这行 xml 上使用正则表达式时:
<ns22:someTagName xmlns:ns22="http://exampledatatypes.com"/>
我得到了这个无效的 XML:
<ns22:someTagName>
它很好地删除了引用,但它带有结束的“/”。
感谢您的帮助, 斯科特
【问题讨论】:
-
不要对 XML 使用正则表达式。你使用什么编程语言?毫无疑问,有一个出色的 XML API 可以让您轻松删除命名空间。