我试图在我的C ++程序中解析包含XML文档的字符串。我知道我可以用C using libxml2做到这一点,但我想要一个使用libxml ++的C ++解决方案(它建立在libxml2之上)。
目前,我可以从像这样的文件解析:
DomParser *parser = new DomParser;
parser->parse_file("sample.xml");
答案 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
}