我正在创建一个处理具有 XML 格式的文本的程序。我发现当标记值是非 ASCII 引号(双引号/ASCII 34、单引号/ASCII 39)时,解析会抛出异常。此类引用可能来自于 Ms Word(自动格式化)等编辑软件。
目前,我在处理 XML 之前解析文本框的每一行并替换引号。这是代码(在 C# 中)
int nLines = textBox1.Lines.Length;
for (int i = 0; i < nLines; i++)
{
// get the current line and replace quotes with standard ones
line = Regex.Replace(textBox1.Lines[i], "[\u2018|\u2019|\u201A]", "'");
line = Regex.Replace(line, "[\u201C|\u201D|\u201E]", "\"");
我想知道是否有更好/更正确/更快的方法来实现这一目标?我所说的更正确的方法是这种方法应涵盖几乎所有引号的可能性(我听说 \d 可以用于 0-9 以及 unicode)。提前致谢!