使 Xerces 解析字符串而不是文件

新手上路,请多包涵

我知道如何仅使用 XercesDOMParser 从 xml 文件创建完整的 dom:

 xercesc::XercesDOMParser parser = new xercesc::XercesDOMParser();
parser->parse(path_to_my_file);
parser->getDocument(); // From here on I can access all nodes and do whatever i want

好吧,这行得通……但是如果我想解析一个字符串怎么办?就像是

std::string myxml = "<root>...</root>";
xercesc::XercesDOMParser parser = new xercesc::XercesDOMParser();
parser->parse(myxml);
parser->getDocument(); // From here on I can access all nodes and do whatever i want

我正在使用版本 3。查看 AbstractDOMParser 内部,我看到 parse 方法及其重载版本,仅解析文件。

如何从字符串中解析?

原文由 Andry 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 398
1 个回答

创建一个 MemBufInputSourceparse

 xercesc::MemBufInputSource myxml_buf(myxml.c_str(), myxml.size(),
                                     "myxml (in memory)");
parser->parse(myxml_buf);

原文由 Fred Foo 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题