在使用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,除非有人传递了错误的输入,否则不需要这样做。

07-26 00:51