我有一个像这样的xml文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
这是实际的XML文件。在我们的应用程序中,我们将此xml作为String接收。
但不知何故,由于硬件问题,应用程序正在接收xml,如下所示。
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove+++</to>
<from>Jani+</from>
<heading>Reminder++++</heading>
<body>Don't forget me this weekend!</body>
</note>
在我的java方法中,我编写了这样的代码,
//It will trim all the + in the xml.
if(xml.indexOf("[+]")!=-1)){
xml = xml.replaceAll("[+]","").trim();
}
这给出了如下结果。
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove </to>
<from>Jani </from>
<heading>Reminder </heading>
<body>Don't forget me this weekend!</body>
</note>
我再次修改了我的代码。
//It will replace all the + and white spaces in the xml.
if(xml.indexOf("[+]")!=-1)){
xml = xml.replaceAll("[+ ]","").trim();
}
但是,这段代码给我的结果如下。
<?xmlversion="1.0"encoding="ISO-8859-1"?>//here I lose the spaces.
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
这里我丢失了<?xmlversion="1.0"encoding="ISO-8859-1"?>
中的空格。
xml正文的另一部分没问题。
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
除了<?xmlversion="1.0"encoding="ISO-8859-1"?>.
当我尝试在我的应用程序中运行它时,我收到SAXParcerException:缺少空格......等等。
如何准确编写我的代码以将文件另存为
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
我的应用程序基于纯粹的Jdk 1.4,Web服务器构建为tomcat。
答案 0 :(得分:0)
尝试使用xlm.replaceAll("\\++", "");
一次性替换一个或多个+
。
答案 1 :(得分:0)
您似乎要删除"+"
之前出现的所有"</"
,:
xml = xml.replaceAll("\\++<\", "<\");
这不会影响"+"
出现在其他地方,例如:
<tag>Bill + Ted+++</tag>
将成为
<tag>Bill + Ted</tag>