send_btn.onRelease = function() {
    if (login_name == null || login_password == null) {
        reply_txt = "输入的用户名和密码必须正确!";
    } else {
        //第一步 构建一个XML文档,该文档仅有一个节点LOGIN,
        //但是该节点有两个属性:uesrname和password。
        //例如:<LOGIN uesrname = "Tom" password = "111111" />
        var loginXML:XML = new XML();
        loginXML.ignoreWhite = true;
        loginElement = loginXML.createElement("LOGIN");
        loginElement.attributes.username = login_name;
        loginElement.attributes.password = login_password;
        loginXML.appendChild(loginElement);
        //第二步 构建一个XML对象,该对象用来控制服务器返回的信息
        var loginReplyXML:XML = new XML();
        loginReplyXML.onLoad = onLoginReply;
        //第三步 使用sendAndLoad()方法将登录信息发送给服务器,
        //并将返回的信息赋给XML对象loginReplyXML
        loginXML.sendAndLoad("http://127.0.0.1/loginXML.aspx", loginReplyXML);
        reply_txt = "验证中";
    }
};
//函数onLoginReply()用来处理服务器返回的信息
function onLoginReply() {
    var resultXML:XML = new XML();
    resultXML.ignoreWhite = true;
    resultXML.parseXML(this);
    var e:XMLNode = resultXML.firstChild;
    if (e.nodeName == "LOGINREPLY" && e.attributes.STATUS == "OK") {
        reply_txt = "验证通过";
        // 在这里可以编写其它的脚本用于验证通过后要响应的程序
    } else if (e.nodeName == "LOGINREPLY" && e.attributes.STATUS == "FAILED") {
        reply_txt = "    用户名和密码不正确!";
    }
}
服务端接收XML发送的数据的方法和前面的方法都不同,要从Http包头中取发送过来的数据,服务端接收数据的代码如下:Stream xmlStream = Request.InputStream;//接收发送过来的XML数据,位于HTTP报头中
        DataSet DS = new DataSet();
        DS.ReadXml(xmlStream);//将它读进一个DataSet
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(DS.GetXml());
        xmlElement root = xmlDoc.DocumentElement;
        string password = root.Attributes.GetNamedItem("password").value;
        string username = root.Attributes.GetNamedItem("username").value;
文章来自学IT网:http://www.xueit.com/flash/show-233-4.aspx网上的代码怎么我运行起来提示缺少根元素啊在  DS.ReadXml(xmlStream);这里。。帮帮忙。。谢谢了,,没什么分啊

解决方案 »

  1.   

    你查看下是否缺少<?xml 这个节点。
    你用什么浏览器?
      

  2.   

    <?xml version="1.0" encoding="utf-8" ?>
    你把这个头部加上去试下。
      

  3.   

    必须加 <?xml version="1.0" encoding="utf-8" ?>
      

  4.   

    var loginXML:XML = new XML("<?xml version='1.0' encoding='utf-8' ?><LOGIN username = 'tom' password = '111' />");
    loginXML.send("http://localhost:2377/yidaweb/testgame.aspx","_blank","POST");
    我是这样写。。可以么?
      

  5.   

     其实主要是你的 头尾没有闭合的原因: 
     我的也出现了这个问题:格式如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <phpShop>
      <msg><![CDATA[]]></msg>
      <info>
        <data_info>
           <item key="1">
             
            <email><![CDATA[[email protected]]]></email>
             
            <tel><![CDATA[13980898-8898]]></tel>
             
            <data_info>
              <item key="0">
                 
              </item>
               
            </data_info>
          </item>
           </data_info>
        <money><![CDATA[63]]></money>
      </info>
    </phpShop>我的解决方法是,在解析前 ,将这个的 <?xml version="1.0" encoding="UTF-8"?> 移除了,就好了。 
    移除的方法应该都知道吧,我是把它放到StringBuilder 中 remove的。
    或许还有好方法,学习中