XMLLint DTD验证语法

6

我正在尝试验证一个XML文档;但是,xmllint坚持将选项作为文件来读取,因此我得到了FileNotFound异常。仅仅为了确认,我已经将xmllint.exe放置在与我的XML文件相同的文件夹中。我在CMD中定位目录并输入以下命令:

xmllint --noout --valid file.xml

DTD位于xml文件中。但是,xmllint正在寻找文件~/--nout。我尝试将文件放在选项之前,但是选项则不会应用。我相对较新,所以毫无疑问问题很明显。

提前感谢您。

编辑:这里有一个拒绝工作的截屏 >:(

Screenshot depicting the file not found exception


你在命令行上复制/粘贴任何内容吗?确保你的破折号实际上是破折号。(不过你的命令行看起来没问题,应该可以工作。) - Daniel Haley
@DanielHaley 我没有复制任何东西;是的,它们是正确的破折号。还有其他可能性吗? - JohnW
1
即使我只运行“xmllint --version”,xmllint仍然试图查找“~/--version”? - JohnW
1个回答

13

我非常确定你没有使用xmllint,而是另一个同名程序。

我怀疑你正在尝试使用http://code.google.com/p/xmllint/。使用它,我可以复现你的错误消息。这个程序唯一能做的就是美化输入的文件。

Windows下真正的xmllint可在http://www.zlatkovic.com/libxml.en.html找到。从下载区域下载libxml2-2.7.8.win32.zip、iconv-1.9.2.win32.zip和zlib-1.2.5.win32.zip。将每个包中“bin”目录的内容放在一个位置。阅读“获取二进制文件”和“安装”部分以了解详细信息。


Windows 二进制文件站点对我来说无法访问,因此我为 Node 版本构建了一个包装器。 - Cees Timmerman
我已经使用PowerShell在这里的gist中编写了xmllint安装脚本:https://gist.github.com/mavaddat/f021e09f8c2d492e19959a9978b42544 - Mavaddat Javid
我已经使用PowerShell在这里的gist中编写了xmllint安装脚本:https://gist.github.com/mavaddat/f021e09f8c2d492e19959a9978b42544 - Mavaddat Javid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接