2011-10-01 53 views
0

如果我有一个很大的XML文档,我不想将它完全加载到内存中,并且有一些可配置的值(如XPath语句或其他可识别xml中元素路径的格式)是否有可能通过节点从流节点读取xml,直到找到我正在寻找的位置?检查流中的XML

我们需要在不知道模式的情况下构建设备以从xml中提取值。我们所有的是xml文档和xpath语句。我们或许可以修改使用xpath以外的内容,但是我们确实希望避免加载整个文档,因为我们需要实时处理,并且xml可能相当大,并且卷可能会变得很高。

回答

1

LibXML2提供了一个流媒体API(您可以一次解析一个文档块)以及XPath。将两者混合并不像标准DOM解析器那样简单,但可以在每个元素的基础上进行。请参阅此处获取更多信息:http://xmlsoft.org/xmlreader.html#Mixing