【发布时间】:2014-01-16 21:47:37
【问题描述】:
最近使用我的 .NET 应用程序的用户在运行时遇到了一些关于此错误消息的问题:doctype' is an unexpected token. the expected token is 'doctype'。
有趣的是,数百人中只有少数人遇到了这个问题。
这就是我的 XML 文件的样子:
<?xml version='1.0'?>
<build>
<row>
<car>Type</car>
<enum>12</enum>
</row>
<row>
<car>Type1</car>
<enum>14</enum>
</row>
<row>
<car>Type2</car>
<enum>15</enum>
</row>
</build>
我在 .NET 应用程序中实际做的是循环遍历 XML 元素并在每个循环上显示 <car>。
我一直在尝试推荐人们安装最新的 .NET Framework 库,但这无济于事。
是什么导致了这个错误,如何解决?
编辑
vb.net sn-p 代码:
Dim client As WebClient = New WebClient()
client.Encoding = System.Text.Encoding.UTF8
Dim data As String = client.DownloadString("http://mywebsite.com/code.php")
While client.IsBusy
Threading.Thread.Sleep(100)
End While
Dim doc As New System.Xml.XmlDocument
doc.LoadXml(data)
For Each row As System.Xml.XmlElement In list
'proceed the element(s)...
Next
^ code.php ,负责输出 XML 字符串:
<?php
header('Content-Type: text/xml; charset=utf-8;');
ini_set('default_mimetype', "text/xml");
ini_set('default_charset', "utf-8");
echo "<?xml version='1.0'?>
<build>";
foreach ($_engine as $line)
{
echo '<row><car>' . htmlspecialchars($line->car) . '</car><enum>' . (int)$line->enum . '</enum></date></row>';
}
echo "</build>";
?>
【问题讨论】:
-
我建议发布相关的 sn-p 代码,因为 XML 格式正确,不会出现问题。
-
你必须给使用一种方法来重现问题。否则我认为没有人可以帮助你。
-
@Marcinjuraszek 老实说,我自己什至无法重现这个问题。正如我所说,数百名用户中只有少数人遇到此问题。我一直在尝试重现这一点,但失败了......
-
顺便说一句。我正在通过 PHP 生成 XML 代码,我将很快编辑我的问题并添加更多代码。
-
更新了代码。添加了 PHP 和 vb.net 代码的 sn-ps。
标签: .net xml vb.net xml-parsing doctype