gpt4 book ai didi

c# - 如何停止 XMLReader 抛出无效的 XML 字符异常

转载 作者:数据小太阳 更新时间:2023-10-29 01:50:11 26 4
gpt4 key购买 nike

所以我有一些 XML:

<key>my tag</key><value>my tag value &#xB;and my invalid Character</Value>

和一个 XMLReader:

using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
{
while (reader.Read())
{
//do my thing
}
}

我已经实现了 here 中的 CleanInvalidCharacters 方法但由于“ ”尚未编码,因此不会被删除。

错误正在 reader.Read() 中抛出;异常行:

hexadecimal value 0x0B, is an invalid character.

最佳答案

问题是您没有 XML——您有一些看起来确实像 XML 但遗憾的是不符合条件的字符串。幸运的是,您可以让 XmlReader 更宽松一些:

using (XmlReader reader = XmlReader.Create(new StringReader(xml), new XmlReaderSettings { CheckCharacters = false }))
{
while (reader.Read())
{
//do my thing
}
}

请注意,您最终仍会得到 XML,当序列化时,可能会进一步产生问题,因此您可能希望在阅读它时过滤掉字符。

关于c# - 如何停止 XMLReader 抛出无效的 XML 字符异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26357994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com