gpt4 book ai didi

xml - 使用 Perl 验证伪 xml 文件

转载 作者:行者123 更新时间:2023-12-04 05:34:40 24 4
gpt4 key购买 nike

我有一个文件,其中包含类似 xml 的标签和一堆无效的 xml 数据,因此我无法在该文件上使用普通的 xml 验证器,例如 xmllint。我想忽略无效的 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>

在上面的例子中,我可以忽略像 、<->、&、; 这样的标签吗?等等,只需检查有效的开始和结束标签,如
。上面的文件应该返回说它格式良好,因为所有有效的标签都有正确的左括号和右括号。

我可以创建自己的 dtd/xsd 吗??使用 Perl 查找我想要的标签并忽略其余标签。

我的主要问题是我不知道正确的关键字来描述我的问题,这就是为什么谷歌没有给我正确的结果。有人可以把我推向正确的方向。谢谢

最佳答案

您必须先清理输入。一旦你这样做了,那么你就可以进行 DTD、模式、正确的解析等等。

如果只是 OUTPUT标签,你可以试试这个:

s/(<OUTPUT>)/$1<![CDATA[/;
s/(</OUTPUT>)/]]>$1/;

完成之后,您的输入应该准备好进行 XML 解析、验证等。如果您的输入可能包含 CDATA 部分,您将不得不做更多的事情,但这应该足以开始。

关于xml - 使用 Perl 验证伪 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12109586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com