我正在使用 java 将 xml 文件转换为字符串 我的 xml 是
<GTSRequest command="version">
<Authorization account="account" user="user" password="password"/>
</GTSRequest>
Java 代码是
public static void main(String[] args) throws IOException {
// TODO code application logic here
String a = System.getProperty("user.dir") + "/XML/Get Current GTS Version.xml";
System.out.println(convertXMLFileToString(a));
}
public static String convertXMLFileToString(String fileName) {
try {
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
InputStream inputStream = new FileInputStream(new File(fileName));
org.w3c.dom.Document doc = documentBuilderFactory.newDocumentBuilder().parse(inputStream);
StringWriter stw = new StringWriter();
Transformer serializer = TransformerFactory.newInstance().newTransformer();
serializer.transform(new DOMSource(doc), new StreamResult(stw));
return stw.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
但是当我将 XMl 转换为 String 时,我的输出将会改变,这是我不想要的。 输出为
<?xml version="1.0" encoding="UTF-8" standalone="no"?><GTSRequest command="version">
<Authorization account="account" password="password" user="user"/>
</GTSRequest>
那里有密码和用户更改,按字母顺序排列
我该如何解决这个问题,先谢谢了
最佳答案
您正在将 XML 转换为文档并在序列化之后...
如果您只想让文件像文本文件一样读取文件:
BufferedReader br = new BufferedReader(new FileReader(fileName));
try {
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
sb.append(System.lineSeparator());
line = br.readLine();
}
String everything = sb.toString();
} finally {
br.close();
}
关于java - 将 XMl 文件转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24731149/