以下总结多数取自于mxGraph源代码
一、创建空的XML document对象
function createXmlDocument()
{
var doc = null;
if (document.implementation && document.implementation.createDocument)
{
doc = document.implementation.createDocument('', '', null);
}
else if (window.ActiveXObject)
{
doc = new ActiveXObject('Microsoft.XMLDOM');
}
return doc;
}
二、从xml字符串中解析xml,返回xml document对象
function parseXML(xml)//xml是字符串表示的xml
{
if(navigator.userAgent.indexOf('MSIE') >= 0) //IE
{
var doc = null;
if (document.implementation && document.implementation.createDocument)
{
doc = document.implementation.createDocument('', '', null);
}
else if (window.ActiveXObject)
{
doc = new ActiveXObject('Microsoft.XMLDOM');
}
doc.async = 'false';
doc.loadXML(xml);
return doc;
}else
{
var parser = new DOMParser();
return parser.parseFromString(xml, 'text/xml');
}
}
三、xml document对象的作用
接下来,就可以使用这个对象来查找所需的信息了。
var xmlDocument=parseXML(xml);
var node=xmlDocument.documentElement;//这个就是根节点了。
四、其他
判断给定的对象是否是xml 节点,是否某个属性值为某个值
function isNode(value, nodeName, attributeName, attributeValue)
{
if (value != null && !isNaN(value.nodeType) && (nodeName == null ||
value.nodeName.toLowerCase() == nodeName.toLowerCase()))
{
return attributeName == null ||
value.getAttribute(attributeName) == attributeValue;
}
return false;
}