日期:2014-05-16 浏览次数:20450 次
1、加载 XML 的方式 //IE浏览器 var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); //firefox 其他浏览器 var xmlDoc = document.implementation.createDocument("","",null); 2、处理空白和换行的方式 Firefox,以及其他一些浏览器,会把空的空白或换行作为文本节点来处理,而 Internet Explorer 不会这样。 思考: 那么怎么解决这种差异呢? for(var i=0;i<provinces.length;i++){ /*解决方案:在输出所有的子节点的时候在这里判断该节点是否是元素节点 *如果是元素节点就继续操作,否则直接进入下一个循环即可解决。 */ if(provinces[i].nodeType==1){ } } 备注:在这里对于opera11.01版本中进行采用本地访问时即输入的地址是: file://D:/Workspaces/MyEclipse 8.6/20110322/WebRoot/city1.html,会出现如下bug(但对于opera11版本以下的就不存在此问题): XMLHttpRequest to files is disabled for security reasons. Set "Allow File XMLHttpRequest" with opera:config#UserPrefs|AllowFileXMLHttpRequest to disable this security check. 解决方案是:1、打开opera浏览器,在地址栏中输入:about:cofig 2、在列举的首选项编辑器中找到: User Prefs 3、点击打开User Prefs 找到里边的:Allow File XMLHttpRequest并勾选 4、勾选上之后点击下面的保存按钮即可解决此bug; 备注:但如果采用的是http://localhost:8080/20110322/city1.html也没有此bug. 了解以上概念之后,我们就看看下面具体代码的实现: 1、首先列举出部分xml文件的代码: <root name="中国"> <province name="请选择省" postcode="100000" > <city name="请选择市" postcode="100100" > <area name="请选择区" postcode="100101" /> </city> </province> <province name="北京市" postcode="110000" > <city name="市辖区" postcode="110100" > <area name="东城区" postcode="110101" /> <area name="西城区" postcode="110102" /> <area name="崇文区" postcode="110103" /> <area name="宣武区" postcode="110104" /> <area name="朝阳区" postcode="110105" /> <area name="丰台区" postcode="110106" /> <area name="石景山区" postcode="110107" /> <area name="海淀区" postcode="110108" /> <area name="门头沟区" postcode="110109" /> <area name="房山区" postcode="110111" /> <area name="通州区" postcode="110112" /> <area name="顺义区" postcode="110113" /> <area name="昌平区" postcode="110114" /> <area name="大兴区" postcode="110115" /> <area name="怀柔区" postcode="110116" /> <area name="平谷区" postcode="110117" /> </city> <city name="县" postcode="110200" > <area name="密云县" postcode="110228" /> <area name="延庆县" postcode="110229" /> </city> </province> <province name="天津市" postcode="120000" > <city name="市辖区" postcode="120100" > <area name="和平区" postcode="120101" /> <area name="河东区" postcode="120102" /> <area name="河西区" postcode="120103" /> <area name="南开区" postcode="120104" /> <area name="河北区" postcode="120105" /> <area name="红桥区" postcode="120106" /> <area name="塘沽区" postcode="120107" /> <area name="汉沽区" postcode="120108" /> <area name="大港区" postcode="120109" /> <area name="东丽区" postcode="120110" /> <area name="西青区" postcode="120111" /> <area name="津南区" postcode="120112" /> <area name="北辰区