Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中为XML文件创建校验和_Java_Xml_Checksum - Fatal编程技术网

如何在Java中为XML文件创建校验和

如何在Java中为XML文件创建校验和,java,xml,checksum,Java,Xml,Checksum,我需要用Java为XML文件创建一个校验和。基本要求是: 元素的顺序很重要 属性的名称-值对很重要,但属性的顺序不重要 忽略所有空白和注释 任何人都可以提供任何提示或示例代码 谢谢, 标记您可以使用Java数字XML签名API: 方法1:使用XSLT规范化文档。 实际上,您将使用XSLT规范化XML文档,以便将等效文档提取到同一文档中。这一转变将: 维持要素秩序 对每个元素的属性进行排序(例如,根据属性名称按字母顺序排列) 去掉空白和注释 然后对文档的规范化版本进行校验和 一些有用的参考资料:

我需要用Java为XML文件创建一个校验和。基本要求是:

  • 元素的顺序很重要
  • 属性的名称-值对很重要,但属性的顺序不重要
  • 忽略所有空白和注释
  • 任何人都可以提供任何提示或示例代码

    谢谢,
    标记

    您可以使用Java数字XML签名API:

    方法1:使用XSLT规范化文档。 实际上,您将使用XSLT规范化XML文档,以便将等效文档提取到同一文档中。这一转变将:

  • 维持要素秩序
  • 对每个元素的属性进行排序(例如,根据属性名称按字母顺序排列)
  • 去掉空白和注释
  • 然后对文档的规范化版本进行校验和

    一些有用的参考资料:

    • XSLT教程-
    • 身份转换作为起点-
    • 排序属性-
    • 规范化-space()
      -
    方法2。使用DOM解析器
  • 使用DOM解析器生成DOM树
  • 根据您的规则规范化DOM树
  • 遍历树并将XML项提供给校验和计算器
  • 方法3。使用SAX或StAX解析器
    如果您不喜欢生成规范化文档或DOM树的中间步骤,您可以使用SAX或StAX解析XML来动态维护/排序/剥离,并将每个元素/内容/属性/值/等提供给校验和计算器。

    检查标准W3C标准“c14n”。+忽略空白。它甚至可以处理名称空间。当然,在你的libarry中你有一个实现

    谢谢你的信息。如果我必须坚持使用JavaSE5,还有其他方法吗?非常感谢您花时间提供如此详细的答案。非常感谢。