首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

读取xml节点的奇怪有关问题

2012-03-02 
读取xml节点的奇怪问题代码如下functionMainSay(XmlString){varxmlDocnewActiveXObject( MSXML2.DOMDocu

读取xml节点的奇怪问题
代码如下

  function   MainSay(XmlString)
{
var   xmlDoc=new   ActiveXObject( "MSXML2.DOMDocument.3.0 ");
xmlDoc.async   =   false;
while(   xmlDoc.readyState   !=   4)   {};
xmlDoc.loadXML(XmlString);
var   RoomNodes   =   xmlDoc.selectSingleNode( "/Room ").childNodes;
var   SayNodes,_SayString;
                for(var   i=0;i <RoomNodes.length;i++)
                {
                        SayNodes=RoomNodes[i];
                      这句出问题     _SayString=SayNodes.selectSingleNode( "//SayString ").text;
                        parent.PublicSay.PublicSayDiv.innerHTML+=SayString+ " <br   /> ";
                  }
}

xml   结构是
<Room>
    <Say>
        <ttt> </ttt>
        <SayString> 你好 </SayString>
    </Say>
    <Say>
        <ttt> </ttt>
        <SayString> 大家好 </SayString>
    </Say>
    ....
</Room>

程序经常重复输出第一个SayString子节点内容,如果用RoomNodes[i].text直接输出全部子节点,又是正常的,错误出现在selectSingleNode那句上,真是奇怪,不知道为什么,请大家帮忙

[解决办法]
sorry,我的第二个回答有问题。
也可以这样

SayNodes=RoomNodes[i];
_SayString=SayNodes.childNodes[1].text;

[解决办法]
当然你也可以SayNodes.getElementByTagName( "SayString ")[0]开取得

热点排行
Bad Request.