|
|
1
247
经过一番研究,我认为最好的答案是 Xerces 由于它实现了所有XSD,因此是跨平台的,并且被广泛使用。我创建了一个 small Java project on github 使用默认的JRE解析器(通常是Xerces)从命令行进行验证。这可以在Windows/Mac/Linux上使用。 还有一个 C++ version of Xerces 如果你愿意使用它,可以使用。这个 StdInParse utility 可用于从命令行调用它。此外,下面的一位评论者指出了这一点 more complete wrapper utility . 您还可以使用xmllint,它是 libxml 。您很可能已经安装了它。示例用法:
一个问题是libxml没有实现所有的规范,因此您可能会遇到问题:( 或者,如果您使用的是Windows,则可以使用 msxml ,但您需要某种包装器来调用它,例如本文中描述的GUI DDJ article 然而,似乎大多数Windows用户都使用XML编辑器,如Notepad++(如中所述 Nate's answer )或 XML Notepad 2007 像 suggested by SteveC (还有几位商业编辑,我在这里不提)。 最后,你会发现,不幸的是,不同的程序会给出不同的结果。这主要是由于XSD规范的复杂性。您可能希望使用多种工具测试您的模式。 更新 :我在a中对此进行了扩展 blog post . |
|
|
2
114
|
|
|
3
22
xmlstarlet 是一个命令行工具,可以执行此操作及更多操作: $ xmlstarlet val --help
XMLStarlet Toolkit: Validate XML document(s)
Usage: xmlstarlet val <options> [ <xml-file-or-uri> ... ]
where <options>
-w or --well-formed - validate well-formedness only (default)
-d or --dtd <dtd-file> - validate against DTD
-s or --xsd <xsd-file> - validate against XSD schema
-E or --embed - validate using embedded DTD
-r or --relaxng <rng-file> - validate against Relax-NG schema
-e or --err - print verbose error messages on stderr
-b or --list-bad - list only files which do not validate
-g or --list-good - list only files which validate
-q or --quiet - do not list files (return result code only)
NOTE: XML Schemas are not fully supported yet due to its incomplete
support in libxml2 (see http://xmlsoft.org)
XMLStarlet is a command line toolkit to query/edit/check/transform
XML documents (for more information see http://xmlstar.sourceforge.net/)
在您的情况下,用法大致如下:
|
|
|
4
17
对于Windows,有免费的 XML Notepad 2007 . 您可以选择XSD进行验证 更新:更好的是,使用Notepad++和XML工具插件 |
|
|
5
5
在线 XML Schema Validator DecisionSoft允许您根据给定的模式检查XML文件。 |
|
|
6
3
我使用Xerces: |
|
|
7
3
我正在学习Schema。我使用RELAXNG和xmllint进行验证。我对xmlllint出现的错误感到沮丧。我希望他们能提供更多信息。 如果XML中有错误的属性,那么xmllint告诉您不支持的属性的名称。但是,如果XML中缺少一个属性,则只会收到一条消息,说明无法验证该元素。 我正在研究一些非常复杂的XML,其中包含非常复杂的规则,而且我是新手,所以追踪丢失的属性需要很长时间。 更新:我刚刚发现了一个我非常喜欢的java工具。它可以像xmllint一样从命令行运行,并且支持RELAX NG: https://msv.dev.java.net/ |
|
|
8
2
我发现这个来自“核心归档”的在线验证器非常有用-
在尝试了几个工具来验证我的xsd之后,这个工具给了我详细的错误信息,所以我能够修复模式中的错误。 |
|
|
9
2
用于快速简单XML验证的XML编辑器可在 http://www.xml-buddy.com 您只需运行安装程序,之后您就可以使用易于使用的桌面应用程序或命令行验证XML文件。此外,您还可以获得对Schematron和RelaxNG的支持。还支持批量验证。.. 更新1/13/2012:命令行工具可以免费使用,并使用Xerces作为XML解析器。 |
|
|
10
2
(请务必勾选“根据外部XML模式验证”框) |
|
11
1
从XML验证和生成XSD的一个很好的可视化工具是IntelliJ IDEA,它直观而简单。 |
|
|
12
1
您可以将XML架构连接到Microsoft Visual Studio的Intellisense。此选项为您提供了实时验证和自动完成功能,这真是太棒了。 我在免费的Microsoft Visual C++2010学习版上运行了这个场景。 |
|
|
13
1
我倾向于使用Microsoft的xsd来帮助从a生成xsd。NET文件。我还使用xmlstarlet解析出xml的各个部分。最后一个对你有用的免费工具是altovaxml,它可以在以下网址找到: http://www.altova.com/download_components.html . 这允许我扫描所有xml文件,通过解析xml来选择要使用的xsd。
要生成我使用的xml: xsd DOTNET.dll/类型:CFGCLASS&;重命名schema0.xsd CFGCLASS.xsd 要获取我使用的xsd名称: xmlstarlet sel-t-m/XXX/*-v local-name()$1|sed's/$// 这允许我使用xml文件中的元素标记来获取正确的XSD。 最终的结果是,我可以调用一个bash函数来扫描所有XML文件并对其进行验证。即使它们位于多个子目录中。 |
|
|
14
0
另一个在线XML模式(XSD)验证器: http://www.utilities-online.info/xsdvalidation/ . |
|
|
Dónal · Spring Boot应用程序中的伪造证明文件类型验证 1 年前 |
|
|
David · 何时实际应用字符编码? 1 年前 |
|
|
Qiuzman · 如何确保v-combobox中的所有项目都遵循规则 2 年前 |
|
DevilsThumb · 赋值时的Pydantic类型转换 2 年前 |