尝试使用 PHP 解析格式不正确的 UTF-8 xml 文件

发布于 2024-11-15 08:50:17 字数 255 浏览 0 评论 0原文

我正在尝试解析 XML 文件,但 XML 文件有一处格式不正确。我尝试过很多很多的皈依者之类的东西,但没有任何帮助。首先我尝试使用 simplexml,然后尝试使用 XMLReader,但出现错误:“解析器错误:输入不是正确的 UTF-8,指示编码!字节:0x0C 0x41 0x62 0x6F”。

在将 xml 内容放入 simplexml 之前,是否有一个技巧可以首先操作它?或者有谁有更好的 XML 解析器,可以处理格式不正确的 xml 字符串?

谢谢 尼克

I am trying to parse an XML File, but there is one place where the XML file is not well formed. I have try many many converts and stuff, but nothing helps. As first I have try with simplexml, then I have try with XMLReader, but I become ever the error: "parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0x0C 0x41 0x62 0x6F" .

Is there a trick, where I can manipulate the xml content as first, before I put it into simplexml? Or has anyone a better XML parser, who works with not well formed xml strings?

Thanks
Nik

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沧桑㈠ 2024-11-22 08:50:17

我使用 DOmDocument 取得了一些成功:

libxml_use_internal_errors(true);
$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;
$doc->loadHtml($r);
foreach($doc->getElementsByTagName('mytag') as $t) {...etc..}

加载文档后,您可以调用一些函数来尝试清理它, DomDocument

I have used DOmDocument with some success:

libxml_use_internal_errors(true);
$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;
$doc->loadHtml($r);
foreach($doc->getElementsByTagName('mytag') as $t) {...etc..}

After you have loaded the doc there are some functions you can call that will try to clean it up, DomDocument

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文