XML解析错误:格式错误

用户名

我正在尝试将我的数据库提要数据解析为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();

        }

感谢您的建议和反馈。

安迪·科涅涅夫(Andy Korneyev)

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

W3C规范将xml标记声明为:

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

其中S是一个或多个空白字符(#X20 |#X9 | #xD | #xA)。

因此,从本规范中可以清楚地看到,空格(#x20)被视为元素名称和属性列表之间的分隔符-因此名称本身不能包含空格。

将元素Publication Date名称更改Publication_Date将有助于使xml格式正确。

xml.WriteElementString("Publication_Date", dat);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章