HEXADECIMAL VALUE 0X03是无效字符

时间:2016-03-30 11:02:29

标签: xml asp.net-mvc-4 character-encoding

这是网页的来源

<html lang="pl">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>

<body>
<p>Da&#32;brow&#35;a G�rn&#x3;icza<p>

</body>

</html>

我需要浏览此页面并复制显示的文字

the text to be copied

之后,我将此文本粘贴到asp.net mvc应用程序的输入文本框中,以便在数据库中创建新记录。 布局页面的元字符集是“utf-8”

如果我在调试中转到Visual Studio 2013,当执行控制器的创建操作时,我可以看到以下字符串

this is the address in debug mode

此地址已存储到nvarchar(255)类型的列中,并且从sql管理工具中我看到与之前看到的相同的文本:

this is the address from the database

如果我将地址从数据库列复制并粘贴到记事本++,我可以看到 enter image description here

之后我必须调用一个svc服务才能发送地址数据,但我从另一方收到此异常

  

错误转换XML''HEXADECIMAL VALUE 0X03无效   字符。

如何避免抛出此异常?

1 个答案:

答案 0 :(得分:3)

0x03只是 而不是allowed character in XML

[2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]

因此,您的文本对象不是XML ,并且任何符合要求的XML处理器都必须报告错误,例如您收到的错误。

在将数据用于任何XML库之前,必须手动或自动将数据视为 文本,而不是XML, 来修复数据。