从xml字符串中删除非法标记(以数字开头的节点)

时间:2014-07-24 13:42:40

标签: java xml regex json

我正在将JSON数组转换为XML字符串:

JSONArray json = new JSONArray(response); xml = XML.toString(json);

,不幸的是结果包含像 <24x24>blah</24x24>

之后我想用SAXBuilder创建一个“真正的”XML节点,产生以下错误:

The content beginning "<2" is not legal markup. Perhaps the "2" (&#32;) character should be a letter.

有人知道如何从XML String中删除这个非法标记吗? 也许正则表达式将<24x24>blah</24x24>替换为<t24x24>blah</t24x24>

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以尝试使用正则表达式的String.replaceAll()方法。 Live demo

System.out.println("<24x24>blah</24x24>".replaceAll("(<\\/?)(?=\\d)", "$1t"));

输出:

<t24x24>blah</t24x24>