我有一个文件,其中包含类似 xml 的标签和一堆无效的 xml 数据,因此我不能在文件上使用像 xmllint 这样的普通 xml 验证器。我想忽略无效的 xml 数据,只检查文件的格式是否正确。
<?xml version="1.0" encoding="utf-8"?>
<HOST>
<VERSION>5</VERSION>
<OUTPUT>
bunch of text which also contains tags like <SYSTEM>
more tags like <-> <temp> & ;
some more text and numbers
</OUTPUT>
</HOST>
在上面的示例中,我可以忽略 <system>、<->、&、; 等标签吗?等,只需检查有效的开始和结束标签,如 <HOST> </HOST> <VERSION> </VERSION> 和 <OUTPUT> </OUTPUT>。上面的文件应该返回说它的格式正确,因为所有有效的标签都有正确的开始和结束括号。
我可以创建自己的 dtd/xsd 吗?使用 Perl 查找我想要的标签并忽略其余标签。
我的主要问题是我不知道描述我的问题的正确关键字,这就是为什么谷歌没有给我正确的结果。有人可以将我推向正确的方向。谢谢