zoukankan      html  css  js  c++  java
  • 又要吐槽一下:xml 根级别上的数据无效。 行 1,位置 1

    首先,我用xmlTextWriter在内存中写了一段XML,方法如下:

            private byte[] GetSendByte(List<Article> returnList)
            {  // 在内存中创建xml到字符串
                using (MemoryStream fileStream = new MemoryStream())
                {
                    using (XmlTextWriter textWriter = new XmlTextWriter(fileStream, Encoding.UTF8))
                    {
                        textWriter.Formatting = Formatting.Indented;
                        textWriter.WriteStartDocument();
                        textWriter.WriteStartElement("Doc");
                        textWriter.WriteStartElement("ArrayOfArticle");
                        foreach (var item in returnList)
                        {
                            textWriter.WriteStartElement("Article");
                            textWriter.WriteElementString("Aid", item.Aid);
                            textWriter.WriteElementString("ATitle", item.ATitle);
                            textWriter.WriteElementString("ACatalog", item.ACatalog);
                            textWriter.WriteElementString("CatalogName", item.CatalogName);
                            textWriter.WriteElementString("AContent", item.AContent);
                            textWriter.WriteElementString("AddTime", item.AddTime);
                            textWriter.WriteElementString("SendTime", item.SendTime);
                            textWriter.WriteEndElement();
                        }
                        textWriter.WriteEndElement();//end  ArrayOfArticle
                        textWriter.WriteElementString("LastGetTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        textWriter.WriteEndElement();//end  body
    
                        textWriter.WriteEndDocument();//end Document
    
                        textWriter.Close();
                    }
                    return fileStream.ToArray();
                }
                //throw new NotImplementedException();
            }
    

     把byte[]转成string得到如下xml:

    <?xml version="1.0" encoding="utf-8"?>
    <body>
      <ArrayOfArticle>
        <Article>
          <Aid>246</Aid>
          <ATitle>222</ATitle>
          <ACatalog>12</ACatalog>
          <CatalogName>12</CatalogName>
          <AContent>2222</AContent>
          <AddTime>2013-09-30 09:52:41</AddTime>
          <SendTime>2013/9/30 9:52:41</SendTime>
        </Article>
        <Article>
          <Aid>738</Aid>
          <ATitle>1111</ATitle>
          <ACatalog>12</ACatalog>
          <CatalogName>12</CatalogName>
          <AContent>11111</AContent>
          <AddTime>2013-09-30 09:52:37</AddTime>
          <SendTime>2013/9/30 9:52:36</SendTime>
        </Article>
      </ArrayOfArticle>
      <LastGetTime>2013-09-30 09:52:46</LastGetTime>
    </body>
    

     字符串绝对原版,一字不差。

    然后 x.LoadXml(xmlstring);

    尼妈,直接给了我一个“根级别上的数据无效。 行 1,位置 1”。

    仔细看了看xml,一点问题发现不了。

    然后跟踪字符串,发面里面含有“ ”,还有空格,猜是它们惹的祸,果断Replace掉。结果没有用。依然报错。

    然后各种google,

      有说.net版本问的,把.net4.0改成2.0的就好。我一看,我的本来就是2.0的。

      有说XML格式不对的,很明显,这段xml看不出什么问题。

    后来,看到一哥们的文章,原文很简单,直接贴上来:

    http://hi.baidu.com/xsharkx/item/d2da2935cb6995f6a88428cc

    根级别上的数据无效 行1 位置1 问题解决参考 public void Parse(string xml)
       {
        this.Items=new RssItemCollection();
        XmlDocument xDoc=new XmlDocument();
        try
        {
         xDoc.LoadXml(xml);
        }
        catch(Exception e)
        {
         throw new Exception("内容不符合标准",e);
        }
    } 
    
    加载XML时始终 根级别上的数据无效。 行1,位置1
    
    在网上找了很久都没有结果 最后只有自己试试,Load前加了 xml=xml.Trim(); 通过了,但是xml前后都没有空格之类的符号 奇怪的错误,而且加载的xml 在IE下是不报错的。
    
    不敢独享 望给同样经历的人一点参考

    果断trim(),我操,行了!,而且回过头来,看看trim()前和trim()后的内容完全一样。

    现在把问题留给大家,why???

  • 相关阅读:
    python每隔半个小时执行一次实现思维
    计算机网络毕业论文3000字,给学弟做的作业
    计算机毕业论文总结_计算机应用毕业论文
    计算机毕业论文8000字_计算机应用毕业论文
    计算机专业论文3000字_计算机毕业论文8000字
    java浏览器_java游戏网站
    python定时器_python倒计时代码
    javascript语法基础_java教程
    javascript开发自学_没有基础的人学js
    JAVA怎么实现软件和驱动下载
  • 原文地址:https://www.cnblogs.com/XChWaad/p/3346875.html
Copyright © 2011-2022 走看看