XML文件
<?xml version="1.0" encoding="utf-8" ?>
<DongFang >
<Company >
<cNname > 1</cNname >
<cIP > 1</cIP >
</Company >
<Company >
<cNname > 2</cNname >
<cIP > 2</cIP >
</Company >
<Company >
<cNname > 3</cNname >
<cIP > 3</cIP >
</Company >
<Company >
<cNname > 4</cNname >
<cIP > 4</cIP >
</Company >
<Company >
<cNname > 5</cNname >
<cIP > 5</cIP >
</Company >
<Company >
<cNname > 6</cNname >
<cIP > 6</cIP >
</Company >
</DongFang >
JS解析XML文件
loadXML = function (xmlFile){
var xmlDoc=null ;
// 判断浏览器的类型
// 支持IE浏览器
if (!window .DOMParser && window .ActiveXObject){
var xmlDomVersions = ['MSXML.2.DOMDocument.6.0' ,'MSXML.2.DOMDocument.3.0' ,'Microsoft.XMLDOM' ];
for (var i=0 ;i<xmlDomVersions.length;i++){
try {
xmlDoc = new ActiveXObject(xmlDomVersions[i]);
break ;
}catch (e){
}
}
}
// 支持Mozilla浏览器
else if (document .implementation && document .implementation.createDocument){
try {
/* document .implementation.createDocument('' ,'' ,null ); 方法的三个参数说明
* 第一个参数是包含文档所使用的命名空间URI的字符串;
* 第二个参数是包含文档根元素名称的字符串;
* 第三个参数是要创建的文档类型(也称为doctype)
*/
xmlDoc = document .implementation.createDocument('' ,'' ,null );
}catch (e){
}
}
else {
return null ;
}
if (xmlDoc!=null ){
xmlDoc.async = false ;
xmlDoc.load(xmlFile);
}
return xmlDoc;
}
JS解析XML字符串
loadXML = function (xmlString){
var xmlDoc=null ;
// 判断浏览器的类型
// 支持IE浏览器
if (!window .DOMParser && window .ActiveXObject){ // window .DOMParser 判断是否是非ie浏览器
var xmlDomVersions = ['MSXML.2.DOMDocument.6.0' ,'MSXML.2.DOMDocument.3.0' ,'Microsoft.XMLDOM' ];
for (var i=0 ;i<xmlDomVersions.length;i++){
try {
xmlDoc = new ActiveXObject(xmlDomVersions[i]);
xmlDoc.async = false ;
xmlDoc.loadXML(xmlString); // loadXML方法载入xml字符串
break ;
}catch (e){
}
}
}
// 支持Mozilla浏览器
else if (window .DOMParser && document .implementation && document .implementation.createDocument){
try {
/* DOMParser 对象解析 XML 文本并返回一个 XML Document 对象。
* 要使用 DOMParser,使用不带参数的构造函数来实例化它,然后调用其 parseFromString() 方法
* parseFromString(text, contentType) 参数text :要解析的 XML 标记 参数contentType文本的内容类型
* 可能是 "text/xml" 、"application/xml" 或 "application/xhtml+xml" 中的一个。注意,不支持 "text/html" 。
*/
domParser = new DOMParser();
xmlDoc = domParser.parseFromString(xmlString, 'text/xml' );
}catch (e){
}
}
else {
return null ;
}
return xmlDoc;
}
调用
var xmldoc=loadXML(text.xml )
var elements = xmlDoc.getElementsByTagName ("Company" )
for (var i = 0
var name = elements[i].getElementsByTagName ("cNname" )[0 ].firstChild .nodeValue
var ip = elements[i].getElementsByTagName ("cIP" )[0 ].firstChild .nodeValue
}