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

Dar*_*dar 2 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>
Run Code Online (Sandbox Code Playgroud)

当我尝试将它序列化为一个对象时,我得到一个例外. System.InvalidOperationException: There is an error in XML document

尝试使用notepad ++ XML插件工具编辑此XML后我明白问题是'&'char中的:

<name>Dublin & South</name>
Run Code Online (Sandbox Code Playgroud)

如果我不想更改xml本身(例如将'&'替换为'AND'或类似的东西),我在这里有什么选择?还有更多的字符可能会使我的序列化过程失败吗?

thx任何帮助!

for*_*two 7

&字符必须进行转义:&amp;

<name>Dublin &amp; South</name>
Run Code Online (Sandbox Code Playgroud)

你应该知道<,>,"'也必须进行转义(他们是不合法的地方).

  • 请注意,您*必须*转义此实体和其他实体引用:请参阅[wikipedia](http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references)以获取完整列表. (2认同)