【问题标题】:IronPython Parse XML wrong encodingIronPython Parse XML 编码错误
【发布时间】:2013-06-07 08:28:05
【问题描述】:

我正在使用 XmlDocument 类读取 XML 文件,但每当它读取属性的值时,它会将丹麦字符(如 'æ'、'ø' 和 'å')转换为 \xf8正则表达式匹配失败。

我试过这样做:

XMLDoc = XmlDocument()
XMLDoc.Load(StreamReader(path, Encoding.GetEncoding("ISO-8859-1")))

但是当我这样做时:

tablename = N.GetAttribute("TableName")  

它仍然是:

u'Reg_konto_bel\xf8b'

我希望它是简单的:Reg_konto_beløb Xml 文件编码为ISO-8859-1 我还在 .py 文件的顶部声明了这一点

# encoding: ISO-8859-1

有人可以帮忙吗?提前致谢

【问题讨论】:

    标签: .net xml encoding ironpython


    【解决方案1】:

    您在 python 文件 (PEP 0263) 上指定的编码应该不会影响 .NET 的 XML 库中发生的事情。 XML 文件的编码应在文件本身中指定或在读取时显式指定,如您的示例中所示。

    即使您的 XML 文件很可能以正确的编码存储并使用正确的编码读取,strings in .NET 的内存表示也是使用 Unicode 完成的。 小写的 u-前缀表示后面的字符串是 Unicode 字符串。

    使用 Unicode 是当今许多技术的默认设置,您应该评估使用 Unicode 表达您的正则表达式和其他处理步骤是否是最灵活和容错的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-07
      • 1970-01-01
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多