在测试接受字符串并将该字符串作为属性添加到 XElement(以当前时间作为值)的方法的过程中。要使用XElement.SetAttributeValue(XName name, object value)
(我知道添加/更新 XElement 的属性的唯一方法),我使用XName.Get
将提供的字符串转换为 XName。
我遇到的问题是XName.Get(堆栈跟踪显示它来自System.Xml.XmlConvert.VerifyNCName
)在某些情况下抛出 XmlException,声称某些字符是不允许的。一个例子是 0x02FF (˱)。我没想到这个字符是允许的,但XML 规范似乎说 0x00F8 到 0x02FF 的整个范围都是有效的。
我是在有效字符上得到这个例外,还是我误解了规范?