作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 GTK 应用程序中,我使用来自 libxml2 的 xmlParseFile()
。但是,该函数只能读取本地文件。我怎样才能让它使用 GIO 框架,以便它也可以读取远程文件?
最简单的方法可能是使用类似g_file_load_contents()
的方法将整个文件读入内存,然后调用xmlParseMemory()
对其进行解析。但是,我正在寻找一种理想地流式传输数据的“更好”的解决方案(以避免将整个数据保留在内存中);可能通过将 GInputStream
连接到 libxml2?
欢迎使用代码示例。我想这是一个常见的用例,因此在此处收集一份详尽的良好实现列表可能会有用。
最佳答案
在 libxml2 网站上有关于如何从文件中逐 block 解析 XML 数据的说明(带有代码示例):http://xmlsoft.org/library.html#Invoking1
如果您想使用 GInputStream
,那么您可以使用 g_input_stream_read()
以与libxml2 文档中的示例程序。
关于stream - 如何使用libxml2解析来自GInputStream(GLibGIO/GVFS)的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6473917/
我必须连接两个 API,它们使用不同的结构来描述文件。一个为我提供了一个 std::FILE*第二个期望 GFile*或 GInputStream*属于GIO .有没有一种直接的方法可以从我收到的原始
我是一名优秀的程序员,十分优秀!