Java ReplaceAll不处理XML输入
我正在开发一个java程序,该程序读取XML并生成输出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"))
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("<", "\\<"); //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="<addressLine1>Main Street</addressLine1>
";
xml = xml.replaceAll("<", "\\<");
xml = xml.replaceAll(">", "\\>");
xml = xml.replaceAll("
", "");
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>