function createXMLDOM() {
var version = [
"MSXML2.DOMDocument6.0",
"MSXML2.DOMDocument3.0",
"MSXML2.DOMDocument"
];
for(var i = 0;i < version.length; i++){
try{
var xmlDom = new ActiveXObject(version[i]);
return xmlDom;
}catch(e){
}
}
throw new Error("您的系统或浏览器不支持MSXML库!");
}
//模拟loadXML()方法,可以简易的创建XML字符串
var xmlParser = new DOMParser();
var xmlStr = "<root>\n\t<user>Lee</user>\n</root>";
var xmlDom = xmlParser.parseFromString(xmlStr,"text/xml");
//模拟.xml属性序列化字符串
var serializer = new XMLSerializer();
var xml = serializer.serializeToString(xmlDom);
var errors = xmlDom.getElementsByTagName("parsererror");
if(errors.length == 0) {
alert(xml);
}else{
throw new Error("错误信息:"+errors[0].textContent);
}
//跨浏览器返回XML DOM对象
function getXMLDOM(xmlStr){
var xmlDom = null;
if(typeof window.DOMParser != "undefined"){
xmlDom = (new DOMParser).parseFromString(xmlStr,"text/xml");
var errors = xmlDom.getElementsByTagName("parsererror");
if(errors.length > 0){
throw new Error("错误信息" + errors[0].textContent);
}
}
else if(typeof window.ActiveXObject != "undefined"){
var version = [
"MSXML2.DOMDocument6.0",
"MSXML2.DOMDocument3.0",
"MSXML2.DOMDocument"
];
for(var i = 0;i < version.length;i++){
try {
var xmlDom = new ActiveXObject(version[i]);
}
catch (e) {
//跳过
}
}
xmlDom.loadXML(xmlStr);
if(xmlDom.parseError != 0){
throw new Error("错误信息:"+xmlDom.parseError.reason);
}
return xmlDom;
}
else{
throw new Error("您的系统或浏览器不支持XML DOM对象!");
}
return xmlDom;
}
//序列化XML
function serializerXML(xmlDom){
var xml = "";
if(typeof window.XMLSerializer != "undefined"){
xml = (new XMLSerializer()).serializeToString(xmlDom);
}
else if(typeof xmlDom.xml != "undefined"){
xml =xmlDom.xml;
}
return xml;
}
var xmlStr = "<root><user>Lee</user></root>";
var xmlDom = getXMLDOM(xmlStr);
alert(serializerXML(xmlDom));
javascript xml(四)
最新推荐文章于 2015-01-31 16:37:51 发布