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ältig. Soo lecker!</div>
这些没有
<div>So schnell. So vielfltig. Soo lecker!</div>
<div>So schnell. So vielf<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.
我正在使用 Windows.Data.Xml.Dom.XmlDocument
来解析 xml 字符串。
代码简单
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlString);
问题是遇到某些特定字符会抛出异常。下面是一个例子。 (是的,我正在解析的 XML 实际上是 html 但它必须被解析为 XML)
这个字符串抛出异常
<div>So schnell. So vielfältig. Soo lecker!</div>
这些没有
<div>So schnell. So vielfltig. Soo lecker!</div>
<div>So schnell. So vielf<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.