向 SimpleXml 的 xml 文件添加编码?
我有一个必须获取的外部 xml 文件,未设置编码,但我发现它的有效负载编码为 ISO-8859-1。
我知道这一点,因为如果我手动将文件编辑为encoding =“ISO-8859-1”,那么它会按预期进行处理。
我可以告诉 simplexml 在实例化 simplexml 对象时要处理什么编码吗?
附录
因为 xml 文件太脏了,我可能最终会使用 xmllint - 在这里发布给其他感兴趣的人 - 格式,以便缩进,在不存在的地方设置编码并清理坏实体(&等等)
xmllint --format --encode iso-8859-1 -o cleansed.xml dirty.xml
I have an external xml file which I have to pick up, no encoding is set but I have discovered it it's payload is encoded ISO-8859-1.
I know this because if I manually edit the file to encoding="ISO-8859-1" then it is processed as expected.
Can I tell simplexml what encoding to deal with as I instantiate the simplexml object?
Addendum
Because the xml file was so dirty I might end up using xmllint - posting here for anyone else interested - format so it is indented, set encoding where it did not exist and clean up bad entities (& and so on)
xmllint --format --encode iso-8859-1 -o cleansed.xml dirty.xml
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以设置 DomDocument 的编码,然后使用 simplexml_import_dom():
You can set the encoding for a DomDocument and then convert it to simplexml by using simplexml_import_dom():