簡體   English   中英

XML解析錯誤:格式錯誤

[英]XML Parsing Error: not well-formed error

我正在嘗試將我的數據庫提要數據解析為XML,但是在客戶端,我一直收到此錯誤:

XML Parsing Error: not well-formed
Location: http://localhost:12736/Test.aspx
Line Number 7, Column 26:        

 <Publication Date>29/04/2015 09:40:53</Publication Date>
 ------------------^

我嘗試將datetime參數'ActivateDate'轉換為字符串,但是在'publication date'節點上仍然遇到相同的錯誤。 我也嘗試過在線尋找解決方案,但仍然無法解決。

這是我的服務器代碼,以供進一步參考:

        Response.Clear();
        Response.ContentType = "text/xml";
        using (XmlTextWriter xml = new XmlTextWriter(Response.OutputStream, Encoding.UTF8))
        {
            xml.Formatting = Formatting.Indented;
            xml.Indentation = 4;
            xml.WriteStartDocument();
            xml.WriteStartElement("items");

            foreach (DataRow oFeedItem in dt.Rows)
            {

               // DateTime dtt = DateTime.Parse(oFeedItem["ACTIVEDATE"].ToString());

                string dat = Convert.ToString(oFeedItem["ACTIVEDATE"].ToString()); 

               // dat.ToString("dd MMMM yyyy"); 
                xml.WriteStartElement("Article");
                xml.WriteElementString("title", oFeedItem["title"].ToString());
                xml.WriteStartElement("description");
                xml.WriteCData(oFeedItem["Body"].ToString());
                xml.WriteEndElement();
                xml.WriteElementString("categories", oFeedItem["categories"].ToString());
                xml.WriteElementString("Publication Date", dat);
                xml.WriteEndElement();
            }

            xml.WriteEndElement();
            xml.WriteEndDocument();
            xml.Flush();
            xml.Close();

            Response.End();

        }

感謝您的建議和反饋。

XML元素名稱不能包含空格。

W3C規范將 xml標記聲明為:

'<' Name (S Attribute)* S? '>'

其中S是一個或多個空格字符(#x20 |#x9 | #xD | #xA)。

因此,從該規范中可以清楚地看到,空格(#x20)被視為元素名稱和屬性列表之間的分隔符-因此名稱本身不能包含空格。

將元素的Publication Date名稱更改為Publication_Date將有助於使xml格式正確。

xml.WriteElementString("Publication_Date", dat);

元素名稱不能包含空格,因此請更改Publication Date以刪除該空格(例如PublicationDate )。

w3schools中 ,元素的命名規則:

  • 元素名稱區分大小寫
  • 元素名稱必須以字母或下划線開頭
  • 元素名稱不能以字母xml(或XML或Xml等)開頭
  • 元素名稱可以包含字母,數字,連字符,下划線和句點
  • 元素名稱不能包含空格

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM