Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ReplaceAll不处理XML输入_Java_String_Replace_Character Encoding - Fatal编程技术网

Java ReplaceAll不处理XML输入

Java ReplaceAll不处理XML输入,java,string,replace,character-encoding,Java,String,Replace,Character Encoding,我正在开发一个java程序,该程序读取XML并生成输出XML。替换读入文件中的某些字符时出现问题 以下是我的方法: public void readTemplateXML() { BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(new FileInputStream( path), "UTF8"))

我正在开发一个java程序,该程序读取XML并生成输出XML。替换读入文件中的某些字符时出现问题

以下是我的方法:

 public void readTemplateXML() {

    BufferedReader br = null;
        try {
            br = new BufferedReader(new InputStreamReader(new FileInputStream(
                    path), "UTF8"));
        } catch (UnsupportedEncodingException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

    String line;
    StringBuilder sb = new StringBuilder();

    try {
        while ((line = br.readLine()) != null) {
            sb.append(line);
            sb.append(System.lineSeparator());
            line = br.readLine();
        }
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    xml = sb.toString();
    xml = xml.replaceAll("&lt;", "\\<"); //This is not working.
}
我是否可以用其他方式替换这些字符? 该文件的编码为UTF-8

编辑: 替换后的xml字符串是正确的。我在另一个methods xml节点中将其用作文本内容:

        // inner request element
        Element request = doc.createElement("con:request");
        request.appendChild(doc.createTextNode(xml));
        rootElement.appendChild(request);
在此之后,内容是不正确的

任何帮助都将不胜感激。

简短回答:

语法: 以下是此方法的语法:

public String replaceAll(String regex, String replacement)
参数: 以下是参数的详细信息:

正则表达式——此字符串要与之匹配的正则表达式

replacement——替换找到的表达式的字符串

代码:

       String xml="&lt;addressLine1&gt;Main Street&lt;/addressLine1&gt;&#13";    
       xml = xml.replaceAll("&lt;", "\\<"); 
       xml = xml.replaceAll("&gt;", "\\>"); 
       xml = xml.replaceAll("&#13", ""); 
       System.out.println( xml );
String xml=“addressLine1主街/addressLine1
”;
xml=xml.replaceAll(“,“\\”);
xml=xml.replaceAll(
“,”);
System.out.println(xml);
结果:

<addressLine1>Main Street</addressLine1>
主街道
我也尝试过regex。你能解释一下为什么
xml=xml.replaceAll(“,”\\n你有什么问题吗?@L337BEAN再次检查我的答案,让我知道你有什么问题吗?我输入了你的答案,但得到了相同的结果。我用更多的信息更新了我的问题detail@L337BEAN请为您的新请求定义新问题,并标记接受我的回答
<addressLine1>Main Street</addressLine1>