在不更改属性顺序的情况下获取XML

时间:2019-01-03 10:18:24

标签: java xml xml-parsing xmlnode xml-attribute

我正在尝试从文件中获取xml,但是在获取属性的顺序时却在变化 我知道这无关紧要,但就我而言,确实如此,因为我正在散列文档

我正在尝试下面的代码,但是它以字母顺序对属性进行排序

File fXmlFile = new File("C:\\Users\\Desktop\\abc.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder;
dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
DOMSource domSource = new DOMSource(doc);
StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.transform(domSource, result);
String xml=writer.toString();

这是我要阅读的xml 在变量xml中,我得到的XML具有按字母顺序排序的属性

1 个答案:

答案 0 :(得分:0)

属性顺序在XML中没有意义,并且处理XML的工具可以随意更改顺序。

当您比较文档的等效性(您似乎正在这样做)时,应该使用不依赖于属性顺序的比较和哈希函数。