从xml标记元素名称中删除空格

时间:2016-06-14 05:05:32

标签: java xslt

我需要一个关于我的xml的帮助。我想删除xml标记的元素名称之间的空格。例如:我有一个xmlstring,它包含像<Customer name><address book >这样的xml标签,所以我想删除客户和客户之间的空间。名称 。它应该看起来像<customername>&<addressbook>。只有xml标签元素名称之间的空格。请使用xslt或java帮助解决此问题。

1 个答案:

答案 0 :(得分:0)

如果我们匹配两个括号之间包含空格的模式&lt;和&gt;然后我们可以取这些组并替换所有的空格并将它们重新插入到原始字符串中。

String input = "<Customer name> <address book >";

Pattern p = Pattern.compile("(<[^>]*?\\s[^>]*?>)");
Matcher m = p.matcher(input);

StringBuffer result = new StringBuffer();

while (m.find()) {
    String replace = m.group().replaceAll("\\s+", "");
    m.appendReplacement(result, replace);
}

m.appendTail(result);
System.out.println(result);

这会打印出来。该模式寻找起始大括号,匹配任何不是结束大括号的东西,直到找到空白区域,然后匹配任何不是结束大括号的东西,直到找到结束大括号。如果我们找到匹配项,则删除空格并将匹配项替换回输入字符串。