我收到错误:
第49行:xml = r.ReadToEnd(); 第50行:第51行:System.Xml.Linq.XDocument xmlDoc = System.Xml.Linq.XDocument.Parse(xml); 第52行:
第53行:var query = from x in xmlDoc.Descendants("member")
在我的XML上.当我运行代码在空页面中生成XML时,它运行没有错误,如果我在我的网页中调用代码它会抛出此错误.页面上唯一的'nbsp'是XSLT顶部的doctype声明:
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> ]>
Run Code Online (Sandbox Code Playgroud)
我不知道这个错误来自哪里,我正在寻找建议!
谢谢.
这是引入XML的C#代码:
protected void exportList(Object sender, EventArgs e)
{
String gid;
gid = Request.QueryString["gid"].ToString();
//XElement xml = XElement.Load("/members/listmembersxmlfeed?gid=" + gid);
String xml = String.Empty;
System.Net.WebResponse WR = System.Net.WebRequest.Create(Request.Url + "/members/listmembersxmlfeed?gid=" + gid).GetResponse();
System.IO.StreamReader r = new System.IO.StreamReader(WR.GetResponseStream());
xml = r.ReadToEnd();
System.Xml.Linq.XDocument xmlDoc = System.Xml.Linq.XDocument.Parse(xml);
var query = from p in xmlDoc.Descendants("member")
select new
{
Name = p.Element("name").Value,
Email = p.Element("email").Value
};
foreach (var member in query)
{
Response.Write("Employee: " + member.Name + " " + member.Email + "<br />");
}
}
Run Code Online (Sandbox Code Playgroud)
希望这有帮助.
您的XML文档必须有一个DTD声明@nbsp; 实体:
<!DOCTYPE topElementName [ <!ENTITY nbsp " "> ]>
Run Code Online (Sandbox Code Playgroud)
否则,文本不是一个格式良好的XML文档(包含未定义的实体),错误消息告诉您.
XSLT样式表具有此声明的事实仅适用于XSLT样式表.XML文档也需要单独声明,
| 归档时间: |
|
| 查看次数: |
6526 次 |
| 最近记录: |