我想创建一个索引,然后访问一个巨大的 xml 文件的某些特定部分,所以我需要获取一些“startElement”事件的偏移量(ftell
...)。
使用libxml2 ( http://www.xmlsoft.org/xmlreader.html )的 pull parser ( stax ) 接口是否可以使用libxml2获取事件流中的偏移量?
我想创建一个索引,然后访问一个巨大的 xml 文件的某些特定部分,所以我需要获取一些“startElement”事件的偏移量(ftell
...)。
使用libxml2 ( http://www.xmlsoft.org/xmlreader.html )的 pull parser ( stax ) 接口是否可以使用libxml2获取事件流中的偏移量?
使用功能xmlTextReaderByteConsumed
:
long xmlTextReaderByteConsumed (xmlTextReaderPtr reader)
此函数提供阅读器使用的解析器的当前索引,相对于当前实体的开始。这个函数实际上只是为与阅读器关联的解析器上下文包装了对 xmlBytesConsumed() 的调用。有关详细信息,请参阅 xmlBytesConsumed()。
reader:一个 XML 阅读器
返回: 从实体开头开始的索引(以字节为单位),如果无法计算索引,则返回 -1。