当前位置:编程学习 > C#/ASP.NET >>

System.Xml.XmlException: 缺少根元素 高手帮我看下.

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Xml;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Stream xmlStream = Request.InputStream;
        DataSet DS = new DataSet();
        DS.ReadXml(xmlStream);
        string xmlStr = DS.GetXml();
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(xmlStr);
        string strA = xmlDoc.SelectSingleNode("SendInfo").SelectSingleNode("TextA").InnerText;
        string strB = xmlDoc.SelectSingleNode("SendInfo").SelectSingleNode("TextB").InnerText;
        string resultXml = "" + strA + strB + "";//建立的XML字符串与Flash接收的字符串格式一致
        Response.Write(resultXml);
    }
}

--------------------编程问答-------------------- 来个人看下啊 --------------------编程问答-------------------- xml文件中有根元素吗? --------------------编程问答-------------------- 网上的例子,flash+asp.net交互,没写xml文件 --------------------编程问答-------------------- xmlStr debugger出来正确吗? --------------------编程问答-------------------- btnSend.onRelease = function()   //点击发送按钮时执行
{
      xmlConn.ignoreWhite = true;  //默认设置为 [font=新宋体]false[/font][/color]。当设置为 [font=新宋体]true[/font] 时,在分析过程中将放弃仅包含空白的文本节点。
      xmlConn.direction = "send/receive";  //方向为发送并且接收
      xmlConn.URL = "http://localhost/Default.aspx";  //(换成自己ASPX的URL,可以为相对路径,注:相对路径下必须将Flash嵌入IE中播放)
      var strXml= ""+inputTextA.text+""+inputTextB.text+"";
//定义Xml字符串获取两个输入文本的值
      xmlConn.params = new XML(strXml);  //定义要发送的XML,并送给发送参数
      xmlConn.addEventListener("send", sendFunction);    //定义发送时过程调用
       xmlConn.addEventListener("result", resultFunction); //定义接收时的过程调用
      xmlConn.trigger();   //启动远程过程调用
}
//发送函数[color=#009900]
function sendFunction(e) 
{
        Result.text = "正在发送..."
}
//接收函数
function resultFunction(e) 
{
         var resultXml:XML = new XML();
         resultXml.ignoreWhite = true;
         resultXml.parseXML(e.target.results);   //获取接收后得值results(接收的XML字符串与ASPX页面发送的一致)
         if(resultXml.firstChild.nodeName == "result")
         {
                   Result.text = e.target.results.toString().slice(8,-9);
         }
         else
        {
                 Result.text = "接收错误!";
        }
}
stop();

这是我在flash中的as代码,当我点击按钮后有值返回,也没显示 正在发送... 单独测试default.aspx时出理 xml气少根元素不知道什么原因 --------------------编程问答-------------------- 急啊,在线等回复。 --------------------编程问答-------------------- 期盼高手啊!
我也是碰到这个问题! --------------------编程问答-------------------- Stream xmlStream = Request.InputStream;
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlStream);

确保输入的是xml格式的 --------------------编程问答-------------------- 输出xmlStr 看看是什么? --------------------编程问答-------------------- xmlDoc.LoadXml(xmlStream);  这个试了吗? --------------------编程问答-------------------- System.Xml.XmlException: 缺少根元素 高手帮我看下.  
=========xml文件里必须有一个且唯一的跟元素,否则会报错 --------------------编程问答-------------------- 会不会是
Stream   xmlStream   =   Request.InputStream; 
啥也没进去~ --------------------编程问答-------------------- Stream  xmlStream  =  Request.InputStream;
判断一下:
if(xmlStream!=null && xmlStream.Length>0)  
{
   //your code
} --------------------编程问答-------------------- 我也出现了这样的问题,我在webservices中已经将输出的数据进行了.toXML() 格式化输出,但是在客户端还是出现了 System.XML.XmlException:缺少根元素 的问题。希望各位给予无私的帮助 --------------------编程问答--------------------
引用 14 楼 m290345792 的回复:
我也出现了这样的问题,我在webservices中已经将输出的数据进行了.toXML() 格式化输出,但是在客户端还是出现了 System.XML.XmlException:缺少根元素 的问题。希望各位给予无私的帮助


我看到了我的代码,可能和各位出现的问题不一样,我是在链接进来的时候,链接中的语句出现了问题所导致的“http"//localhost/a.aspx?d=1&d=3d=3”,改完之后就没有这样的问题了。不知道各位是不是和我一样的原因。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,