Java:XML规范化

Iva*_*van 15 java xml canonicalization

在Java中制作规范形式的XML文件最简单的方法是什么?你有完成的代码吗?我在网上找到了几个链接,比如这个,这个,这个,但我不能让它起作用:/

谢谢,

伊万

编辑:我使用了那里提出的规范化,但我得到了奇怪的结果.为了更加精确,这个方法不会删除元素之间的空格......这就是我得到的:

<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>
Run Code Online (Sandbox Code Playgroud)

eol*_*ith 20

Apache XML Security项目中Canonicalizer类:

Canonicalizer canon = Canonicalizer.getInstance(Canonicalizer.ALGO_ID_C14N_OMIT_COMMENTS);
byte canonXmlBytes[] = canon.canonicalize(yourXmlBytes);
String canonXmlString = new String(canonXmlBytes);
Run Code Online (Sandbox Code Playgroud)

  • 对于之前未使用过Apache XML Security库的任何人,必须使用静态方法"org.apache.xml.security.Init.init();"初始化库.在从该库调用任何代码之前,或者您将收到错误. (18认同)