【发布时间】:2015-01-20 05:59:26
【问题描述】:
我正在尝试从串行设备传递以 xml 包装的数据,并且该数据必须保留所有原始字符。
我对 CDATA 的理解是它可能包含非法字符,因为它没有被 xml 解析器解析,但是在 asp.net 中使用 XCData 类时会引发非法字符异常。这是代码。
return new XElement("ac",
new XAttribute("name", name),
new XAttribute("id", id),
new XElement("interface_id", interface_id),
new XElement("event_type", event_type),
new XElement("interface_type", interface_type),
new XElement("data", new XCData(data))
).ToString();
如果我删除添加 XCData 的行,代码运行正常,所以我知道非法字符在数据变量中。
这是我得到的例外
An unhandled exception of type 'System.ArgumentException' occurred in System.Xml.dll
Additional information: '.', hexadecimal value 0x00, is an invalid character.
所以我想问题是,我对 CDATA 的看法是不是错了,如果是,是否有可能通过 xml 来维护数据完整性?
【问题讨论】: