如何使用libxml ++

时间:2016-02-16 18:04:14

标签: c++ xml libxml2

我试图在我的C ++程序中解析包含XML文档的字符串。我知道我可以用C using libxml2做到这一点,但我想要一个使用libxml ++的C ++解决方案(它建立在libxml2之上)。

目前,我可以从像这样的文件解析:

DomParser *parser = new DomParser;
parser->parse_file("sample.xml");

1 个答案:

答案 0 :(得分:0)

答案很简单(几乎与解析文件完全相同)。

parser->parse_memory(xml_document);

在我的情况下,我需要选择支持两者,所以这是我提出的解决方案。

ifstream input_stream;
input_stream.open(xml.c_str(), ios::in); // attempt to open the file for reading 
if(input_stream.fail())
{
    parser->parse_memory(xml); // is not a file, parse as a string
} 
else
{
    parser->parse_file(xml); // is a file, parse as a file
}