java - 根据模式生成元素顺序的 JAXP DOM 文档

标签 java xsd xml-parsing jaxp

我正在动态生成一个需要在运行时针对架构进行验证的文档。我遇到的问题是文档的结构是正确的,但每个级别的元素顺序不正确。有没有办法告诉转换器按照 xsd 文件指定的顺序写出元素?或者我是否必须解析 xsd 并手动对其进行排序?

最佳答案

Is there a way to tell the transformer to write out the elements in the order specified by an xsd file?

如果变压器是指 validator ,那么就不行。如果顺序不正确,您可以执行以下操作:

  1. 修复 XSD 以允许您想要使用的顺序
  2. 修复 XML

如果您熟悉 XSLT,那么更改 XML 的顺序就很简单。您甚至可以使用 XSD 作为辅助输入并根据 xs:sequence 的外观自动排序,或者创建需要特定顺序的位置列表并使用 xsl 动态排序:排序或其他方式或排序。

关于java - 根据模式生成元素顺序的 JAXP DOM 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32720462/

相关文章:

java - 如何管理 XML 模式及其生成的类的版本和部署?

java - Enum Switch 语句 Java 6 "Default"大小写

java - 如何在 "manual"后端查询更新后刷新实体

java - java.io.IOException : "The filename, directory name, or volume label syntax is incorrect" 的可能原因是什么

java - 如何在第 3 方依赖项中创建 Maven 子依赖项 "provided"?

xml - 如何使用 xmllint 来验证内部指定的 xsd?

c# - 保留选择序列中的顺序 (LINQ To XSD)

java - 在 Java 中将 XML 文档复制到字符串变量中

android - 无法使用 XML 解析从 XML 中获取内部节点列表数据

java - 我想读取标签 <Attribute> 的属性 "name"的属性值,其中存在属性 "class"..我该怎么做?