在使用SAX Parser解析xml之前,我必须经过类似以下的代码。
但是我无法在字符串xml中获得某些字符替换的说明。
public class basic {
public static void main(String[] args) {
String xmlStr= some xml file;
xmlStr= xmlStr.replaceAll("%(?![0-9a-fA-F]{2})", "%25");
xmlStr= xmlStr.replaceAll("\\+", "%2B");
//Now some parsing mechanism using sax parser is continuing
}
}
编辑:
由于符号“ +”表示以网址表示的空格,因此第二行
// xmlStr = xmlStr.replaceAll(“ \ +”,“%2B”)
旨在保护符号'+免受空格转换。
But still didn't understand the below line.
//xmlStr= xmlStr.replaceAll("%(?![0-9a-fA-F]{2})","%25");
what is the significance of '?', '{}'
最佳答案
我猜这里的“ xmlStr”是XML文件的URI,而不是XML文件的内容,因此代码是在操纵URI,而不是在操纵XML内容。操纵URI通常是一个混乱的过程,但这看起来像是为处理某些特殊需求而编写的临时代码,用于修复格式错误的URI,除非有人传递了错误的输入,否则不需要这样做。