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:缺少根元素 的问题。希望各位给予无私的帮助 --------------------编程问答--------------------
我看到了我的代码,可能和各位出现的问题不一样,我是在链接进来的时候,链接中的语句出现了问题所导致的“http"//localhost/a.aspx?d=1&d=3d=3”,改完之后就没有这样的问题了。不知道各位是不是和我一样的原因。
补充:.NET技术 , ASP.NET