我正在尝试验证以下 xml,它位于 .nuspec 文件内:
<?xml version='1.0'?>
<package>
<metadata>
<id>nuspec_test</id>
<version>1.2.3</version>
<authors>Author Name</authors>
<description>test_xml_document</description>
</metadata>
</package>
为了进行验证,我使用此处找到的 nuspec.xsd 文件:http://nuget.codeplex.com/SourceControl/changeset/view/0881f2d55e70#src%2fCore%2fAuthoring%2fnuspec.xsd
我使用 .Net 的 System.Xml 和 Ruby 的 Nokogiri 运行验证。这两个都显示验证失败,如下所示:
来自 Nokogiri:元素“package”:没有可用于验证根的匹配全局声明。
来自 System.XML:根级别的数据无效。第 1 行,位置 1。
此 xml 或架构有什么问题会导致验证错误?
最佳答案
包元素应该位于 http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd 中命名空间(如果您希望 xsd 进行验证)。
请注意,大多数示例都没有 xml 命名空间,因此仅将其用于您自己的用途。
关于xml - 使用 nuspec.xsd 验证 .nuspec 文件在 'package' 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5119326/