Python flask 无法打开 xml 文件

Python flask cannot open an xml file

我尝试在我的网站上实现服务器端多语言服务。这是文件夹的结构:

data
--locale
static
--css
--images
--js
templates
--index.html
--page1.html
...
main.py

我使用 Crowdin 翻译网站,输出文件在 XML。 locale 文件夹为每种语言包含一个文件夹,每个页面有一个 xml 文件。

我将语言存储在 Cookie 上,这是我的 python 代码:

from flask import request
from xml.dom.minidom import parseString

def languages(page):
    langcode = request.cookies.get("Language")
    xml = "/data/locale/%s/%s.xml" % (langcode, page)

    dom = parseString(xml)
    ................
    .............

我在每一页都调用它,比如languages("index")

这是导出的 xml 个文件的示例

<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<!--
This is a description of my page
-->
<resources>
  <string name="name1">value 1</string>
  <string name="name2">value 2</string>
  <string name="name3">value 3</string>
</resources>

但是,我有如下错误ExpatError: not well-formed (invalid token): line 1, column 0

我用谷歌搜索了一下。我最终遇到了其他 Whosebug 问题,但其中大部分都是关于编码问题的,而我在我的示例中找不到任何问题。

如果你想解析一个文件,你必须使用parse()parseString() 将解析一个字符串,即您的文件名。

from flask import request
from xml.dom.minidom import parse

def languages(page):
    langcode = request.cookies.get("Language")
    xml = "/data/locale/%s/%s.xml" % (langcode, page)

    dom = parse(xml)