【发布时间】:2015-06-12 08:00:17
【问题描述】:
我需要一个正则表达式来删除 xml 标记的开头和结尾之间的空格。 例如: 有人创建 xml 并将其发送给我,因此我可以验证、签名并发送到 Web 服务。
为此,我需要删除标签开头和结尾之间的空格:
String xmlString = "<?xml version="1.0" encoding="UTF-8"?><car><name>Beatle </name>"
+ "<doors>2</doors><drivers><driver><name> Guilherme</name></driver>"
+ "<driver><name>Leonardo </name></driver></drivers></car>";
xmlString = xmlString.replaceAll("> ", ">");
xmlString = xmlString.replaceAll(" <", "<");
有没有办法用正则表达式将这两个替换合二为一?
【问题讨论】:
-
我很确定你不能用正则表达式安全地做到这一点。特别是,任何 CDATA 块都可能会破坏。您最好使用解析器,尤其是因为您可能想验证文档。
-
@chrylis 你能给我一个在这种情况下使用的例子吗?