【问题标题】:XML. Invalid at the top level of the document. Error processing resourceXML。在文档的顶层无效。错误处理资源
【发布时间】:2011-05-07 13:25:00
【问题描述】:

你能指点我,下面的Xml文件有什么问题吗?

<?xml version="1.0" encoding="utf-8"?>
<root>
  <align>right</align>
  <columns>3</columns>
  <rows>4</rows>
  <backgroundColor>#333333</backgroundColor>
  <circleButtonColor>#666666</circleButtonColor>
  <currentCircleButtonColor>#000000</currentCircleButtonColor>
  <textColor>#000000</textColor>
  <thumbWidth>100</thumbWidth>
  <thumbHeight>75</thumbHeight>
  <thumbPadding>10</thumbPadding>
  <thumbBorder>3</thumbBorder>
  <thumbBorderColor>#0000F1</thumbBorderColor>
  <assetWidth>600</assetWidth>
  <assetHeight>400</assetHeight>
  <showImageCaption>yes</showImageCaption>
  <showImageShadow>no</showImageShadow>
  <target>_self</target>
</root> 

这是错误

Invalid at the top level of the document. Error processing resource 'http://www.example.com/xml/setup.xml'. Line 20, Positi...

</root>

我确信我可以使用中断,但如果我不这样做,在我上传特定文件之前,我在 localhost 上没有错误。

更新:检查 Xml(十六进制)后,我注意到在 &lt;/root&gt; 之后神奇地添加了字符 0x00(NULL)

说神奇的是我的意思是......

XML 文件通常在本地主机上创建。 NULL 字符由自定义 FTP 类附加(用于上传 - 二进制模式),或者其他我无法想象的东西..

【问题讨论】:

  • XML 本身似乎没有任何错误。可能是你的代码有问题?
  • XML 很好;也许解析器需要一个 DOCTYPE 声明。
  • 您是否截断了错误消息?如果是这样,为什么? Line 和 Position 告诉您(以及那些试图帮助您的人)实际问题出在哪里。

标签: asp.net xml ftp xmlhttprequest hex


【解决方案1】:

至少我找到了问题的根源!该错误与 XML 无关。

问题出现在 FTP 类中。

原始代码是创建额外的字节(值为 0x00)

Dim fileContents(oFile.Length) As Byte
Using fr As FileStream = oFile.OpenRead
  fr.Read(fileContents, 0, Convert.ToInt32(oFile.Length))
End Using

这是修改后的。

Dim Length As Integer = oFile.Length - 1
Dim fileContents(Length) As Byte
Using fr As FileStream = oFile.OpenRead
  fr.Read(fileContents, 0, Convert.ToInt32(oFile.Length))
End Using

在上传图片时,我在 FTP 类上没有遇到任何问题。但是当它带有 XML 文件时......

【讨论】:

  • 实际上,我敢打赌,您也在向图像添加空值。只是没关系。
  • 确实如此。由于图像已显示... Ftp 类没有错误!
【解决方案2】:

没有 DOCTYPE 的 XML 文档 声明无效

-- xml.com

请参阅有效的 XML 输出:包括 DOCTYPE 声明XML.com,大约在页面的一半。

【讨论】:

  • 同一段指出这是一个相当技术性的“有效”定义。只要格式正确,它就是“合法的”。在这种情况下,“有效”意味着它符合指定的 DTD。
猜你喜欢
  • 1970-01-01
  • 2011-03-22
  • 1970-01-01
  • 1970-01-01
  • 2017-10-12
  • 2019-01-07
  • 2020-05-26
  • 2020-06-01
  • 1970-01-01
相关资源
最近更新 更多