无法使用esapi encodeforxml方法编码(逗号)\下划线-(连字符)

dpiehjr4  于 2023-04-27  发布在  Java
关注(0)|答案(1)|浏览(561)

在下面的代码中,我尝试对特殊字符进行编码

package hello;

//import java.io.UnsupportedEncodingException;
import org.owasp.esapi.ESAPI;
import org.owasp.esapi.Encoder;
import org.owasp.esapi.errors.EncodingException;

public class HelloWorld {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //System.out.println("Hello Worldadndh");   

//      System.out.println("ESAPI.accessacController found: " 
//                + ESAPI.accessController());
                String encodedString = encodeForXML("comma underscore hyphen, _ - & () %");
        System.out.println("The encoded string is "+encodedString); 

    }

    public static String encodeForXML(String str)
    {
        return ESAPI.encoder().encodeForXML(str);
    }

}

o/p是

The encoded string is comma underscore hyphen, _ - & () %

是否有一些编码所需的设置?谢谢您。

z2acfund

z2acfund1#

在xml中,不需要对下划线字符进行编码。看到了吗https://www.w3.org/tr/xml/#charencoding.
只需转义以下字符:https://www.w3.org/tr/rec-xml/#dt-逃跑。

相关问题