问题描述
send_btn.onRelease=function(){if(login_name==null||login_password==null){reply_txt="输入的用户名和密码必须正确!";}else{//第一步构建一个XML文档,该文档仅有一个节点LOGIN,//但是该节点有两个属性:uesrname和password。//例如:<LOGINuesrname="Tom"password="111111"/>varloginXML:XML=newXML();loginXML.ignoreWhite=true;loginElement=loginXML.createElement("LOGIN");loginElement.attributes.username=login_name;loginElement.attributes.password=login_password;loginXML.appendChild(loginElement);//第二步构建一个XML对象,该对象用来控制服务器返回的信息varloginReplyXML:XML=newXML();loginReplyXML.onLoad=onLoginReply;//第三步使用sendAndLoad()方法将登录信息发送给服务器,//并将返回的信息赋给XML对象loginReplyXMLloginXML.sendAndLoad("http://127.0.0.1/loginXML.aspx",loginReplyXML);reply_txt="验证中";}};//函数onLoginReply()用来处理服务器返回的信息functiononLoginReply(){varresultXML:XML=newXML();resultXML.ignoreWhite=true;resultXML.parseXML(this);vare:XMLNode=resultXML.firstChild;if(e.nodeName=="LOGINREPLY"&&e.attributes.STATUS=="OK"){reply_txt="验证通过";//在这里可以编写其它的脚本用于验证通过后要响应的程序}elseif(e.nodeName=="LOGINREPLY"&&e.attributes.STATUS=="FAILED"){reply_txt="用户名和密码不正确!";}}服务端接收XML发送的数据的方法和前面的方法都不同,要从Http包头中取发送过来的数据,服务端接收数据的代码如下:StreamxmlStream=Request.InputStream;//接收发送过来的XML数据,位于HTTP报头中DataSetDS=newDataSet();DS.ReadXml(xmlStream);//将它读进一个DataSetXmlDocumentxmlDoc=newXmlDocument();xmlDoc.LoadXml(DS.GetXml());xmlElementroot=xmlDoc.DocumentElement;stringpassword=root.Attributes.GetNamedItem("password").value;stringusername=root.Attributes.GetNamedItem("username").value;文章来自学IT网:http://www.xueit.com/flash/show-233-4.aspx网上的代码。。。怎么我运行起来提示缺少根元素啊。。。在DS.ReadXml(xmlStream);这里。。帮帮忙。。谢谢了,,没什么分啊。。。
解决方案
解决方案二:
你查看下是否缺少<?xml这个节点。你用什么浏览器?
解决方案三:
用ie8
解决方案四:
那应该要怎么写呢?谢谢
解决方案五:
<?xmlversion="1.0"encoding="utf-8"?>你把这个头部加上去试下。
解决方案六:
必须加<?xmlversion="1.0"encoding="utf-8"?>
解决方案七:
引用5楼iyori的回复:
必须加<?xmlversion="1.0"encoding="utf-8"?>
楼上的MM可用分借500花花哈
解决方案八:
嗯。。。试试。。。哈哈。。。再次谢谢各位,
解决方案九:
还是不行。。。能给个例子么?谢谢。
解决方案十:
引用8楼xuefengxin的回复:
还是不行。。。能给个例子么?谢谢。
还是说缺少头部信息吗
解决方案十一:
缺少根节点
解决方案十二:
人家报告缺少根节点,你就不能老老实实的先添加跟节点进去,看看还会报错不。
解决方案十三:
引用8楼xuefengxin的回复:
还是不行。。。能给个例子么?谢谢。
还有别的例子么。给些学习学习好么。。谢谢
解决方案十四:
引用10楼xuefengxin的回复:
缺少根节点
varloginXML:XML=newXML("<?xmlversion='1.0'encoding='utf-8'?><LOGINusername='tom'password='111'/>");loginXML.send("http://localhost:2377/yidaweb/testgame.aspx","_blank","POST");我是这样写。。可以么?
解决方案十五:
友情帮顶下!顺便学习学习!
解决方案:
其实主要是你的头尾没有闭合的原因:我的也出现了这个问题:格式如下:<?xmlversion="1.0"encoding="UTF-8"?><phpShop><msg><![CDATA[]]></msg><info><data_info><itemkey="1"><email><![CDATA[788780999997@qq.com]]></email><tel><![CDATA[13980898-8898]]></tel><data_info><itemkey="0"></item></data_info></item></data_info><money><![CDATA[63]]></money></info></phpShop>我的解决方法是,在解析前,将这个的<?xmlversion="1.0"encoding="UTF-8"?>移除了,就好了。移除的方法应该都知道吧,我是把它放到StringBuilder中remove的。或许还有好方法,学习中