【发布时间】:2021-09-03 14:00:54
【问题描述】:
我试图在 XML 中进行简单的字符串删除。
我想删除如下内容。
<A>
<B>Test Name</B>
</A>
不过,必须使用所有可能的 XML。
<Test><A><B>Test Name</B></A></Test>
<Test ><A ><B >Test Name</B ></A ></Test >
<Test>
<A>
<B>Test Name</B>
</A>
</Test>
等等等等
我目前得到的正则EX,很简单:
<A>\s*(\r\n|\r|\n)*\s*<B>Test Name<\/B>\s*(\r\n|\r|\n)*\s*<\/A>
每个人都说正则表达式不适合匹配 XML,这显然是。那我应该改用什么。
GC_
【问题讨论】:
-
可能是一个 xml 解析器?
-
例如baeldung.com/java-xml,几乎涵盖了所有这些。
-
@GarrGodfrey 我想要一些重量轻的东西。我真的不想解析整个xml,只是删除一行。
-
这不是一行,而是一个元素及其子元素。这就是天真的正则表达式方法的众多问题之一。
-
XSLT 最适合此类任务。