function
parseXMLDOM(){
var
_browserType =
""
;
var
_xmlFile =
""
;
var
_XmlDom = null;
return
{
"getBrowserType"
:
function
(){
return
_browserType;
},
"setBrowserType"
:
function
(browserType){
_browserType = browserType;
},
"getXmlFile"
:
function
(){
return
_xmlFile;
},
"setXmlFile"
:
function
(xmlFile){
_xmlFile = xmlFile;
},
"getXmlDom"
:
function
(){
return
_XmlDom;
},
"setXmlDom"
:
function
(XmlDom){
_XmlDom = XmlDom;
},
"getBrowserType"
:
function
(){
var
browserType =
""
;
if
(navigator.userAgent.indexOf(
"MSIE"
) != -1){
browserType =
"IE"
;
}
else
if
(navigator.userAgent.indexOf(
"Chrome"
) != -1){
browserType =
"Chrome"
;
}
else
if
(navigator.userAgent.indexOf(
"Firefox"
) != -1){
browserType =
"Firefox"
}
return
browserType;
},
"createXmlDom"
:
function
(xmlDom){
if
(this.getBrowserType() ==
"IE"
){
xmlDom =
new
ActiveXObject(
'Microsoft.XMLDOM'
);
xmlDom.async = false;
xmlDom.load(this.getXmlFile());
}
else
{
var
xmlhttp =
new
XMLHttpRequest();
xmlhttp.open(
"GET"
, this.getXmlFile(), false);
xmlhttp.send(null);
xmlDom = xmlhttp.responseXML;
}
return
xmlDom;
},
"parseXMLDOMInfo"
:
function
(){
var
xmlDom = this.getXmlDom();
if
(this.getBrowserType() ==
"IE"
){
var
bookObj = xmlDom.selectNodes(
"books/book"
);
if
(typeof(bookObj) !=
"undifined"
){
var
strHtml=
""
;
for
(
var
i = 0; i < bookObj.length; i++){
strHtml += bookObj[i].selectSingleNode(
"isbn"
).text;
strHtml +=
" "
;
strHtml += bookObj[i].selectSingleNode(
"price"
).text;
strHtml +=
" "
;
strHtml += bookObj[i].selectSingleNode(
"title"
).text;
if
(i != bookObj.length - 1){
strHtml +=
"<br>"
;
}
}
}
}
else
{
var
book = xmlDom.getElementsByTagName(
"book"
);
var
strHtml=
""
;
for
(
var
i = 0;i < book.length;i++){
strHtml += book[i].getElementsByTagName(
"isbn"
)[0].textContent;
strHtml +=
" "
;
strHtml +=
" "
;
strHtml += book[i].getElementsByTagName(
"price"
)[0].textContent;
strHtml +=
" "
;
strHtml += book[i].getElementsByTagName(
"title"
)[0].textContent;
if
(i != book.length - 1){
strHtml +=
"<br>"
;
}
}
}
document.getElementById(
"msg"
).innerHTML = strHtml;
}
}
}
window.onload =
function
(){
var
parseObj =
new
parseXMLDOM();
parseObj.setBrowserType(parseObj.getBrowserType());
parseObj.setXmlFile(
"test.xml"
);
parseObj.setXmlDom(parseObj.createXmlDom(null));
parseObj.parseXMLDOMInfo();
}