gpt4 book ai didi

java - 如何根据Java中的模式定义获取xml节点类型?

转载 作者:行者123 更新时间:2023-11-30 05:14:56 25 4
gpt4 key购买 nike

假设我有一个 doc.xml 和相应的 doc.xsd。我使用 xpath 检索一些节点,因此我得到了 org.w3c.dom.Node 的列表。如何从架构中获取每个节点的类型,例如。 xs:整数、xs:字符串等?

一些解决方案是使用 xpath 查询“//NodeName[@type]”使用 node.getNodeName() 作为 NodeName 来解析模式,但这并不完美。我无法确定架构是否优雅 - 如果 NodeName 存在于架构中的许多位置并且尚未提取为单独的类型怎么办?

因此,通常我正在寻找可靠的解决方案来获取任何有效 xml 和 xsd 的节点类型。

最佳答案

您应该考虑使用 JAXB。它将根据模式类型为您创建 Java 类。然后,您的 XML 文档将被读入这些类,这些类根据您定义 XSD 的方式进行键入。因此 xsd:int 映射到 java int(或 Integer 包装类,我不记得了)等。

关于java - 如何根据Java中的模式定义获取xml节点类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1879840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com