nedcomp hosting homepage

Producten en diensten
Dedicated servers
Datacenter informatie
Partners, resellers
Helpdesk informatie
Technische docs, tools
Support homepage
ASP componenten
Praktische ASP, ASP.NET
Visual route server
Whois (domein gegevens)
Software documentatie
Whitepapers
Zoeken
Nedcomp / algemeen

Zoeken
 

Copyright © Nedcomp Hosting
Telefoon nr :   +31 184 670111
Fax nummer :   +31 184 631384
E-mailadres :   info@nedcomp.nl
 

Microsoft XML Core Services (MSXML) 4.0 - DOM Reference

IXMLDOMParseError

Returns detailed information about the last parse error, including the error number, line number, character position, and a text description.

[Script]

Example

The following script example attempts to load an XML document. It then tests the errorCode property of the IXMLDOMParseError object to see if an error has occurred.

var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
xmlDoc.async = false;
xmlDoc.load("books.xml");
if (xmlDoc.parseError.errorCode != 0) {
  alert("A parse error occurred.");
} else {
  alert(xmlDoc.documentElement.xml);
}
[Visual Basic]

Example

The following Microsoft® Visual Basic® example attempts to load an XML document. It then tests the errorCode property of the IXMLDOMParseError object to see if an error has occurred.

Dim xmlDoc As New Msxml2.DOMDocument40
xmlDoc.async = False
xmlDoc.Load ("books.xml")
If xmlDoc.parseError.errorCode <> 0 Then
  MsgBox "A parse error occurred."
Else
  MsgBox xmlDoc.documentElement.xml
End If
[C/C++]

Example

The following C/C++ example reads a document with a missing end "TITLE" tag (in the second book) and displays the error.

#import "msxml4.dll"
using namespace MSXML2;

inline void TESTHR( HRESULT _hr ) 
   { if FAILED(_hr) _com_issue_error(_hr); }

void XMLDOMParserSample()
{
   try
   {
      IXMLDOMDocumentPtr docPtr;

      //init
      TESTHR(CoInitialize(NULL)); 
      TESTHR(docPtr.CreateInstance("Msxml2.DOMDocument.4.0"));

      // load a document
      _variant_t varXml("D:\\xmlSample\\xmlTest\\book.xml");
      _variant_t varOut((bool)TRUE);
      varOut = docPtr->load(varXml);
      if ((bool)varOut == FALSE)
      {
         IXMLDOMParseErrorPtr errPtr = docPtr->GetparseError();
         _bstr_t bstrErr(errPtr->reason);

         printf("Error:\n");
         printf("Code = 0x%x\n", errPtr->errorCode);
         printf("Source = Line : %ld; Char : %ld\n", errPtr->line, errPtr->linepos);
         printf("Error Description = %s\n", (char*)bstrErr);
         
      }
      else
      {
         printf("Load successful");
      }

   }
   catch (_com_error &e)
   {
      printf("Error:\n");
      printf("Code = %08lx\n", e.Error());
      printf("Code meaning = %s\n", (char*) e.ErrorMessage());
      printf("Source = %s\n", (char*) e.Source());
      printf("Error Description = %s\n", (char*) e.Description());
   }
      catch(...)
   {
      printf("Unknown error!");
   }
   CoUninitialize();
}

Document

<?xml version='1.0'?>
<COLLECTION
   xmlns:dt="urn:schemas-microsoft-com:datatypes">
  <DATE dt:dt="datetime">1998-10-13T15:56:00</DATE>
  <BOOK>
    <TITLE>Cosmos</TITLE>
    <AUTHOR>Carl Sagan</AUTHOR>
    <PUBLISHER>Ballantine Books</PUBLISHER>
  </BOOK>
  <BOOK>
    <TITLE>Catwings
    <AUTHOR>Ursula K. Le Guin</AUTHOR>
    <PUBLISHER>Scholastic</PUBLISHER>
  </BOOK>
  <BOOK>
    <TITLE>Home Town</TITLE>
    <AUTHOR>Tracy Kidder</AUTHOR>
    <PUBLISHER>Random House</PUBLISHER>
  </BOOK>
</COLLECTION>

Output

Error:
Code = 0xc00ce56d
Source = Line : 14; Char : 5
Error Description = End tag 'BOOK' does not match the start tag 'TITLE'.

Requirements

Implementation: msxml4.dll, msxml2.lib

[C/C++]

Header and IDL files: msxml2.h, msxml2.idl

To view reference information for Visual Basic, C/C++, or Script only, click the Language Filter button Language Filter in the upper-left corner of the page.

See Also

IXMLDOMParseError Members


Download de SDK