0

我编写了一个小型 XML 验证器,它接收一个 XML 文件和一个 XML 模式,并根据该模式验证 XML 文件。它运行良好,除了 XML 文件,内容如下:

 <?xml version="1.0" encoding="utf-8"?>
<xc:program xmlns:xc="http:\\www.something.com\Schema\XC10" xc:version="4.0.22.0" >
    <xc:namespaceDecls>
        <xc:namespaceDecl xc:namespaceDeclURI="urn:swift:xsd:abc">
            <xc:namespaceDeclPrefix>n</xc:namespaceDeclPrefix>
        </xc:namespaceDecl>
    </xc:namespaceDecls>
</xc:program>

我试图针对一堆不同的模式来验证这个 XML 文件。无论我选择哪种模式,这个 XML 文件都是有效的。我错过了什么?这是相关的代码:

//'Create a schema cache and add the given schema to it.
Dim schemaCache As New Schema.XmlSchemaSet

schemaCache.Add(targetNamespace, schemaFilename)

//'Create an XML DOMDocument object.
Dim xmlDom As New XmlDocument

//'Assign the schema cache to the DOM document.
//'schemas collection.
xmlDom.Schemas = schemaCache

//'Load selected file as the DOM document.
xmlDom.Load(xmlFilename)
xmlDom.Validate(AddressOf ValidationCallBack)
4

1 回答 1

0

您可能遇到无法识别根名称空间的问题。在这种情况下,您需要检查根元素验证状态

于 2010-04-21T21:09:53.927 回答