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)
我尝试在我的网站上实现服务器端多语言服务。这是文件夹的结构:
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)