-- 作者:020604111
-- 发布时间:5/17/2006 8:04:00 AM
-- [求助] 有没有高手可以帮我解决一下
求助 :我的毕业设计是做一个基于XML机票信息发布系统,下面分别是机票的XML文件,XSL文件,以及将数据添加到XML文件中的WebForm1.aspx.cs,前两个文件都能正常运行并显示结果,但是在运行WebForm1.aspx.cs时就会出现如下的问题 (所有的文件是放在faight文件夹中的) “/faight”应用程序中的服务器错误。 -------------------------------------------------------------------------------- 意外的 XML 声明。 行 2,位置 3。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Xml.XmlException: 意外的 XML 声明。 行 2,位置 3。 源错误: 行 41: { 行 42: XmlDocument xmlDoc = new XmlDocument(); 行 43: xmlDoc.Load(Server.MapPath("tickets.xml")); 行 44: myXml.Document = xmlDoc; 行 45: } 源文件: c:\inetpub\wwwroot\faight\webform1.aspx.cs 行: 43 源代码如下: tickets.xml <?xml version="1.0" encoding="GB2312" standalone="yes"?> <?xml-stylesheet type="text/xsl" href="pp.xsl"?> <Air-Tickets Date="2006/3/22"> <Ticket> <From>西安</From> <To>东京</To> <DepartingTime>14:00</DepartingTime> <ArrivingTime>16:00</ArrivingTime> <price type="Economy"> 1180 </price> <price1 type="Business"> 1480 </price1> </Ticket> <Ticket> <From>西安</From> <To>首尔</To> <DepartingTime>16:00</DepartingTime> <ArrivingTime>18:00</ArrivingTime> <price type="Economy"> 1180 </price> <price1 type="Business"> 1480 </price1> </Ticket> <Ticket> <From> 西安</From> <To> 纽约</To> <DepartingTime>09:00</DepartingTime> <ArrivingTime>11:00</ArrivingTime> <price type="‘Economy’"> 1080 </price > <price1 type="‘Business’"> 1380 </price1> </Ticket> <Ticket> <From> 西安</From > <To> 新德里</To> <DepartingTime>13:00</DepartingTime> <ArrivingTime>15:00</ArrivingTime> <price type="‘Economy’"> 1080 </price > <price1 type="‘Business’"> 1380 </price1 > </Ticket> <Ticket> <From> 西安</From > <To> 莫斯科</To> <DepartingTime>17:00</DepartingTime> <ArrivingTime>19:00</ArrivingTime> <price type="‘Economy’"> 1080 </price > <price1 type="‘Business’"> 1380 </price1 > </Ticket> </Air-Tickets> pp.xsl <?xml version="1.0" encoding="GB2312" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <HTML> <BODY> <CENTER> <TABLE BORDER="1"> <TR> <TD>起始地</TD> <TD>目的地</TD> <TD>起飞时间</TD> <TD>到达时间</TD> <TD>经济仓价格</TD> <TD>头等仓价格</TD> </TR> <xsl:for-each select="Air-Tickets/Ticket"> <TR> <TD> <xsl:value-of select="From" /> </TD> <TD> <xsl:value-of select="To" /> </TD> <TD> <xsl:value-of select="DepartingTime" /> </TD> <TD> <xsl:value-of select="ArrivingTime" /> </TD> <TD> <xsl:value-of select="price" /> </TD> <TD> <xsl:value-of select="price1" /> </TD> </TR> </xsl:for-each> </TABLE> </CENTER> </BODY> </HTML> </xsl:template> </xsl:stylesheet> WebForm1.aspx.cs using System; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Xml; namespace faight { /// <summary> /// WebForm1 的摘要说明。 /// </summary> public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.Label Label1; protected System.Web.UI.WebControls.Label Label7; protected System.Web.UI.WebControls.Label Label6; protected System.Web.UI.WebControls.Label Label5; protected System.Web.UI.WebControls.Label Label4; protected System.Web.UI.WebControls.Label Label3; protected System.Web.UI.WebControls.TextBox From; protected System.Web.UI.WebControls.TextBox To; protected System.Web.UI.WebControls.TextBox DepartingTime; protected System.Web.UI.WebControls.TextBox ArrivingTime; protected System.Web.UI.WebControls.TextBox price; protected System.Web.UI.WebControls.TextBox price1; protected System.Web.UI.WebControls.Label Label2; protected System.Web.UI.WebControls.Label Label8; protected System.Web.UI.WebControls.Xml myXml; protected System.Web.UI.WebControls.Button Submit; protected System.Web.UI.WebControls.Label mudidi ; private void Page_Load(object sender, System.EventArgs e) { if(!IsPostBack) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(Server.MapPath("tickets.xml")); myXml.Document = xmlDoc; } } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Submit.Click += new System.EventHandler(this.Submit_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void Submit_Click(object sender, System.EventArgs e) { XmlDocument xmlDoc =new XmlDocument(); xmlDoc.Load(Server.MapPath("tickets.xml")); XmlNode xmlRoot =xmlDoc.DocumentElement; XmlElement xmlTicket =xmlDoc.CreateElement("Ticket"); XmlElement xmlFrom =xmlDoc.CreateElement("From"); XmlElement xmlTo =xmlDoc.CreateElement("To"); XmlElement xmlDepartingTime=xmlDoc.CreateElement("DepartingTime"); XmlElement xmlArrivingTime=xmlDoc.CreateElement("ArrivingTime"); XmlElement xmlprice=xmlDoc.CreateElement("price"); XmlElement xmlprice1=xmlDoc.CreateElement("price1"); xmlFrom.InnerXml=From.Text; xmlTo.InnerXml=To.Text; xmlDepartingTime.InnerXml=DepartingTime.Text; xmlArrivingTime.InnerXml=ArrivingTime.Text; xmlprice.InnerXml=price.Text; xmlprice1.InnerXml=price1.Text; xmlTicket.AppendChild(xmlFrom); xmlTicket.AppendChild(xmlTo); xmlTicket.AppendChild(xmlDepartingTime); xmlTicket.AppendChild(xmlArrivingTime); xmlTicket.AppendChild(xmlprice); xmlTicket.AppendChild(xmlprice1); xmlRoot.AppendChild(xmlTicket); xmlDoc.Save(Server.MapPath("tickets.xml")); xmlDoc.Load(Server.MapPath("tickets.xml")); myXml.Document=xmlDoc; } } }
|