【发布时间】:2014-11-06 10:46:30
【问题描述】:
我正在开发一个读取 XML 并生成输出 XML 的 java 程序。我在替换读入文件中的某些字符时遇到问题。
以下是我的方法:
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.
}
我只是将“xml”字符串输出到一个 xml 文件,我仍然得到“
<addressLine1>Main Street</addressLine1>
无论如何我可以用 替换这些字符吗? 文件编码为UTF-8。
编辑: 替换所有后xml字符串是正确的。我在另一种方法 xml 节点中将其用作文本内容:
// inner request element
Element request = doc.createElement("con:request");
request.appendChild(doc.createTextNode(xml));
rootElement.appendChild(request);
此后内容不正确。
任何帮助将不胜感激。
【问题讨论】:
标签: java string replace character-encoding