崩溃了。帮忙看一下这个小问题
js读取XML文档,明明有两行,为何打印行数是0 ?
js:
var xmlDoc = new ActiveXObject( "Msxml2.DOMDocument ");
xmlDoc.async = false;
xmlDoc.load( "user.xml ");
nodes = xmlDoc.selectNodes( "//b/link ");
document.write(nodes.length);
user.xml
<?xml version= "1.0 " encoding= "utf-8 " ?>
<b>
<link>
<bannerImage> images/dvd.jpg </bannerImage>
<bannerADlink> http://www.sina.com </bannerADlink>
<bannerADtitle> 新浪网 </bannerADtitle>
</link>
<link>
<bannerImage> images/gdpic.jpg </bannerImage>
<bannerADlink> http://www.qq.com </bannerADlink>
<bannerADtitle> 腾讯 </bannerADtitle>
</link>
</b>
------解决方案--------------------你的JS没错,你的XML格式没错,但是因为中文的存在,乱码了,XML解析错误,我前后对比看了好久,把中文换成英文的就没事.
建议你把XML文件以UTF-8编码保存一次再试试.
我的测试代码如下
xmlDoc.loadXML( " <?xml version=\ "1.0\ " encoding=\ "utf-8\ "?> <b> <link> <bannerImage> images/dvd.jpg </bannerImage> <bannerADlink> http://www.sina.com </bannerADlink> <bannerADtitle> fsdafds </bannerADtitle> </link> \
<link> <bannerImage> images/dvd.jpg </bannerImage> <bannerADlink> http://www.sina.com </bannerADlink> <bannerADtitle> fdsafasd </bannerADtitle> </link> </b> ");
if (xmlDoc.parseError != 0)
{
alert(xmlDoc.parseError.reason);
// 这一行是如果解析的时候出错,会提示你的,你加上看看就知道什么问题了.
}
nodes = xmlDoc.selectNodes( "//b/link ");
document.write(nodes.length);
------解决方案--------------------嗯,
我做存儲xml的時候,
都encodeURIComponent編碼。