是否可以使用Java根据XML文件中存在的模式验证XML?

是否可以使用Java根据XML文件中存在的模式验证XML?,java,xml,Java,Xml,因此,我有一个XML,它已经在根标记中指定了所有模式,如下所示 <Waybill xmlns="urn:some:uri1" xmlns:cac="urn:some:uri2" xmlns:cbc="urn:some:uri3" xmlns:ext="urn:some:uri4" xmlns:xxx="http://some.url.com"> 是否可以在Java代码中对照这些内容验证XML,这样我就不必在Java代码中重复它们了? 到目前为止,我找到

因此,我有一个XML,它已经在根标记中指定了所有模式,如下所示

<Waybill xmlns="urn:some:uri1"
     xmlns:cac="urn:some:uri2"
     xmlns:cbc="urn:some:uri3"
     xmlns:ext="urn:some:uri4" xmlns:xxx="http://some.url.com">
是否可以在Java代码中对照这些内容验证XML,这样我就不必在Java代码中重复它们了? 到目前为止,我找到的所有示例都要求您在代码中明确指定url


神奇之处似乎在于:xmlstants.W3C_XML_SCHEMA_NS_URI。

我的XML有点生疏,但这些只是名称空间。URI实际上只意味着一个唯一的字符串,它们绝对不是模式。在本例中,cac或cbc是一个名称空间,但URI指向模式,不是吗?至少当我打开URI指向的文件时,它包含另一个XML文件,该文件以plus Intellij Idea开头,它实际根据顶部列出的模式验证XML,并强调我在XMLIntellij中所做的任何有趣的更改都是80%神奇的。试试这个:可能还需要使用setNamespaceAware属性。DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance;dbf.setvalidatingrue DocumentBuilder=factory.newDocumentBuilder;Document doc=builder.parsenew filefilefilename;