我正在使用Xerces C ++ lib来解析XML。我需要一个函数来确定输入的XML是否格式良好。在DOMConfiguration Interface
中有一些提及“格式良好”但没有解释如何使用它。
这是我的代码到目前为止的样子。无论XML是否格式良好,它的工作方式都相同,但我需要知道它何时格式不正确。
try {
XMLPlatformUtils::Initialize();
// create the DOM parser
XercesDOMParser *parser = new XercesDOMParser;
parser->setValidationScheme(XercesDOMParser::Val_Never);
parser->parse(xml_input.c_str()); // where xml_input is my XML filename
// get the DOM representation
DOMDocument *doc = parser->getDocument();
// get the root element
DOMElement *root = doc->getDocumentElement();
}
catch ( DOMXPathException& e )
{
char* message = xercesc::XMLString::transcode( e.getMessage() );
cout << message << endl;
XMLString::release( &message );
}