Groovy xml 解析与 xsd 验证可能吗?

发布于 2024-12-09 16:34:33 字数 76 浏览 0 评论 0原文

是否可以使用 Groovy xmlslurper 或 xmlparser 根据 xsd 验证 xml? 我的 xml 是一个简单的字符串。

Is it possible to validate an xml against an xsd using Groovy xmlslurper or xmlparser?
The xml I have is a simple String.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

み格子的夏天 2024-12-16 16:34:33

XmlSlurperXmlParser 则不然,但您可以 仍然从 Groovy 调用标准 Java 方式

从该链接改编并粘贴到此处的代码:

import javax.xml.XMLConstants
import javax.xml.transform.stream.StreamSource
import javax.xml.validation.SchemaFactory

String xmlString = ''' ... your xml ... '''
String xsdString = ''' ... your xsd ... '''

def factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI)
def schema = factory.newSchema(new StreamSource(new StringReader(xsdString)))
def validator = schema.newValidator()
validator.validate(new StreamSource(new StringReader(xmlString)))

Not with XmlSlurper or XmlParser it isn't, but you can still call the standard Java way from Groovy:

Code adapted and pasted here from that link:

import javax.xml.XMLConstants
import javax.xml.transform.stream.StreamSource
import javax.xml.validation.SchemaFactory

String xmlString = ''' ... your xml ... '''
String xsdString = ''' ... your xsd ... '''

def factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI)
def schema = factory.newSchema(new StreamSource(new StringReader(xsdString)))
def validator = schema.newValidator()
validator.validate(new StreamSource(new StringReader(xmlString)))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文