碰到一个需求,从前端读取xml并在前端解析成string,显示到html中(不上传,客户需要看到上传的xml是否正确再上传,因此只能前端转换)
1.xml文件转XMLDocument
function createXml(str)
{
if(document.all)
{
var xmlDom=new ActiveXObject("Microsoft.XMLDOM")
xmlDom.loadXML(str)
return xmlDom
}
else
{
return new DOMParser().parseFromString(str, "text/xml")
}
如果在js端是读取文件,那就更方便了
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
xmlDoc.async = false;
xmlDoc.load("文件路径");
2.xml dom转xml字符串
function xmlToString(xmlObj)
{
if(document.all) //IE浏览器
{
return xmlObj.xml;
}
else //其他浏览器
{
return (new XMLSerializer()).serializeToString(xmlObj);
}
}
3. 加载xml文件
function loadXML()
{
try //Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
catch(e)
{
try //Firefox, Mozilla, Opera, etc.
{
xmlDoc=document.implementation.createDocument("","",null);
}
catch(e)
{
alert(e.message)}
}
try
{
xmlDoc.async=false;
xmlDoc.load("/example/xdom/books.xml");
document.write("xmlDoc is loaded, ready for use");
}
catch(e)
{
alert(e.message)
}
}