在Java中制作规范形式的XML文件最简单的方法是什么?你有完成的代码吗?我在网上找到了几个链接,例如this,this和this,但我无法使其发挥作用:/
谢谢,
伊万
编辑:我使用了那里提出的规范化器,但是我得到了奇怪的结果。为了更加精确,这个方法不会删除元素之间的空格......这就是我得到的:<Metric xmlns="http://www.ibm.com/wsla" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="total_memory_consumption_metric" type="double" unit="Mbit" xsi:schemaLocation="http://www.ibm.com/wsla WSLA.xsd"> <Source>ServiceProvider</Source> <MeasurementDirective resultType="double" xsi:type="StatusRequest"> <RequestURI> ***unused*** </RequestURI> </MeasurementDirective> </Metric>
答案 0 :(得分:19)
Canonicalizer上的Apache XML Security project课程:
Canonicalizer canon = Canonicalizer.getInstance(Canonicalizer.ALGO_ID_C14N_OMIT_COMMENTS);
byte canonXmlBytes[] = canon.canonicalize(yourXmlBytes);
String canonXmlString = new String(canonXmlBytes);
答案 1 :(得分:1)
如果您正在使用XOM,或者您不需要Apache XML Security,则另一个选项是nu.xom.canonical.Canonicalizer。