gpt4 book ai didi

ios - 如何使用 libXML 在 xml 文件中获取编码?

转载 作者:行者123 更新时间:2023-11-29 03:11:23 25 4
gpt4 key购买 nike

我正在使用 libxml 来解析 xml 响应。我发现libxml通过读取xml文件头来检测编码。但我找不到如何获取检测到的编码。我执行了以下操作来获取 libxml 来检测编码:

xmlCreatePushParserCtxt(&simpleSAXHandlerStruct, (__bridge void *)(self), [data bytes], [data length], NULL);

我遇到了

xmlDetectCharEncoding(const unsigned char * in, int len)

它返回检测到的编码,但不是来自 xml 文件的第一行。

有什么想法吗?

最佳答案

解析文档后,可以在xmlDoc structencoding槽中找到编码.

编辑:如果您将推送解析器与您自己的 SAX 处理程序一起使用,则不会构建 xmlDoc。在这种情况下,您可以通过 ctxt->encoding(或者可能是 ctxt->input->encoding)从 xmlParserCtxtPtr 获取编码,但是只有在解析了 XML 声明之后。这意味着您必须至少调用一次 xmlParseChunk 并确保已将足够的数据提供给推送解析器。

关于ios - 如何使用 libXML 在 xml 文件中获取编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22210559/

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