// ------------------------------------------------
// Function: CreateXMLDOM
//
// Purpose: Creates a new XML DOM.
//
// Parameters: None
//
// Returns: XMLDOM object OR null
// -------------------------------------------------
function CreateXmlDOM()
{
var oXML = new ActiveXObject(GetXmlParserProgID());
try
{
oXML.setProperty( " AllowXsltScript " , true );
}
catch (err) {}
oXML.async = false ;
oXML.validateOnParse = false ;
oXML.resolveExternals = false ;
oXML.setProperty( " SelectionLanguage " , " XPath " );
try {oXML.setProperty( " NewParser " , true );} catch (e) {}
return oXML;
}
// -------------------------------------------------
// Function: GetXmlParserProgID
//
// Purpose:
// Gets the ProgID of the highest available version of the
// Microsoft XML parser.
//
// Parameters: None
//
// Returns: String (i.e. "Msxml2.DOMDocument.4.0")
//
// -------------------------------------------------
function GetXmlParserProgID()
{
var MAX_MAJOR_PARSER_VERSION = 10 ;
var MIN_MAJOR_PARSER_VERSION = 0 ;
var MAX_MINOR_PARSER_VERSION = 9 ;
var MIN_MINOR_PARSER_VERSION = 0 ;
var sProgID = g_sXmlParserProgID;
var bFound = false ;
if ( ! sProgID)
{
// Iterate through possible versions
for ( var nMajor = MAX_MAJOR_PARSER_VERSION;
nMajor >= MIN_MAJOR_PARSER_VERSION; nMajor -- )
{
for ( var nMinor = MAX_MINOR_PARSER_VERSION;
nMinor >= MIN_MINOR_PARSER_VERSION; nMinor -- )
{
// Set up the classname for the version that
we're trying to instantiate
sProgID = " Msxml2.DOMDocument. " + nMajor + " . " + nMinor;
try
{
if ( new ActiveXObject(sProgID))
{
bFound = true ;
break ;
}
}
catch (e)
{}
}
if (bFound)
{
// store in a global variable to
speedup subsequent calls
g_sXmlParserProgID = sProgID;
break ;
}
}
}
return sProgID;
}然后直接用其load方法(本地)。
var xmlDoc = new ActiveXObject( " MSXML2.DOMDocument.3.0 " );
xmlDoc.load(local_XML_FileName);