проверить схему XML с помощью анализатора msxml - PullRequest
3 голосов
/ 26 июня 2009

Я хочу проверить файл XML по файлу схемы XML. Это простой XML-файл, не содержащий пространства имен и т. Д. Я хочу сделать это на C ++, используя MSXML 6.0.

1 Ответ

3 голосов
/ 29 июня 2009

Вы можете проверить, как вы загружаете. Это пример кода из Windows / MSXML SDK:

   IXMLDOMSchemaCollectionPtr   pXS;
   IXMLDOMDocument2Ptr          pXD = NULL;
   IXMLDOMParseErrorPtr         pErr = NULL;
   _bstr_t                      strResult = "";

   HRESULT hr = pXS.CreateInstance(__uuidof(XMLSchemaCache50));
   hr = pXS->add("urn:namespace", "myschema.xsd");

   // Create a DOMDocument and set its properties.
   hr = pXD.CreateInstance(__uuidof(DOMDocument50));

   // Assign the schema cache to the DOMDocument's
   // schemas collection.
   pXD->schemas = pXS.GetInterfacePtr();

   // Load books.xml as the DOM document.
   pXD->async = VARIANT_FALSE;
   pXD->validateOnParse = VARIANT_TRUE;
   pXD->resolveExternals = VARIANT_TRUE;
   hr = pXD->load("TheXmlDocument.xml");

   // check hr and pXD->errorCode here

Вы можете загрузить MSXML6 SDK , чтобы получить этот образец и множество других. Примечание: он не будет установлен на Vista. Если вы используете Vista, то получите Windows SDK .

...