c# - 由于字符错误而尝试序列化 Xml(作为字符串)时出现异常

标签 c# xml

我有以下 xml:

<?xml version="1.0" encoding="WINDOWS-1255"?>
<body>
    <HotelBooking>
        <customers>
            <cust>
                <custID>1111111</custID>
                <title>MR</title>
                <lastName>MASAREWH</lastName>
                <firstName>AHMAD IRAKI</firstName>
            </cust>
            <cust>
                <custID>22222222</custID>
                <title>MRS</title>
                <lastName>HAJ YAHYA IRAQI</lastName>
                <firstName>HIMAT</firstName>
            </cust>
        </customers>
        <Details>
            <name>Dublin & South</name>
        </Details>
    </HotelBooking>
</body>

当我尝试将它序列化为一个对象时,出现异常。 System.InvalidOperationException:XML 文档中存在错误

在尝试使用 Notepad++ XML 插件工具编辑此 XML 后,我了解到问题出在以下位置的“&”字符:

<name>Dublin & South</name>

如果我不想更改 xml 本身(例如将“&”替换为“AND”或类似的东西),我有什么选择? 是否还有更多字符也可能导致我的序列化过程失败?

感谢任何帮助!

最佳答案

&字符必须转义:&amp;

<name>Dublin &amp; South</name>

你应该知道 < , > , "'也必须转义(在不合法的情况下)。

关于c# - 由于字符错误而尝试序列化 Xml(作为字符串)时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17811462/

相关文章:

c# - 测量一个函数所用的时间,不明白为什么时差是负的

c# - Azure.通过交互式用户登录进行身份验证 (Microsoft.Azure.Management.Fluent)

c# - 无法在 TextBox 样式上设置 CornerRadius

c# - 在 C# 中使用 OAuth2 通过 Google API 进行身份验证

xml - 在本地验证 sitemap.xml

c# - 运行时带有黄色横幅的用户帐户控制消息 .msi 由 wix 安装程序创建

java - 如何解决使用 jersey 在 java Rest 服务中生成 xml 的问题?

c# - 在 C# restful web 服务中删除 xml 命名空间返回字符串

获取xml元素的c#代码

c++ - 检查路径是否存在于 boost 属性树中