Xerces C ++:如何从流中读取数据?

时间:2014-07-07 11:09:44

标签: c++ xerces xerces-c

我需要从我自己的流中读取数据,并在它到达时使用Xerces / C ++(SAX或SAX2)对其进行解析。我已经看过Xerces Java FAQ,但Java和C ++ API似乎并不匹配;至少,我在C ++ API中看不到DefaultReaderFactory类。那么,是否从C ++ API支持的流中进行非缓冲读取?如果是,我将非常感谢有关如何将Java方法移植到C ++的代码示例或建议。

2 个答案:

答案 0 :(得分:1)

我认为您希望使用SAXParser::parseFirst(InputSource, token)parseNext(token),如果您将数据放在内存中并且可以指向它,或者通过实现您自己的MemBufInputSource,则使用InputSource }}

答案 1 :(得分:0)

你应该看看http://xerces.apache.org/xerces-c/program-sax2-2.html

基本上,您可以创建SAX2XMLReader的实例,然后您可以使用其3个parse成员函数之一来解析您正在使用的流源。使用MemBufInputSource可能适合大多数情况。