XMLDocument.LoadXml 上的异常仅适用于特定的 iso 字符

Exception on XMLDocument.LoadXml only for specific iso characters

我正在使用 Windows.Data.Xml.Dom.XmlDocument 来解析 xml 字符串。

代码简单

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlString);

问题是遇到某些特定字符会抛出异常。下面是一个例子。 (是的,我正在解析的 XML 实际上是 html 但它必须被解析为 XML)

这个字符串抛出异常

<div>So schnell. So vielf&auml;ltig. Soo lecker!</div>

这些没有

<div>So schnell. So vielfltig. Soo lecker!</div>

<div>So schnell. So vielf&lt;ltig. Soo lecker!</div>

这些是异常的消息和类型。
HRESULT 异常:0xC00CE002 System.Exception

不知道为什么只有特定的字符才会触发异常。有人可以帮忙吗?

Xml 不支持所有 html 个字符,您提到的字符是 html 个字符。 xml 和 html 支持的字符列表: https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML

Xml只支持quot amp apos lt gt
您必须使用其他特殊字符的十六进制值才能将它们加载为 xml.