首页 > 解决方案 > Python正在将字符转换为符号

问题描述

我有麻烦,不知道如何开始解决它。

我有 XML 文件。有例子:

<resources>
    <string name="menuOptionMdReceiptIcon">&#xf1b4;</string>
    <string name="menuOptionMdStoreMallDirectoryIcon">&#xf1d4;</string>
    <string name="menuOptionMdPersonIcon">&#xf207;</string>
    <string name="menuOptionMdLocalAtmIcon">&#xf198;</string>
    <string name="menuOptionMdSwapHorizIcon">&#xf30d;</string>
    <string name="menuOptionMdPeopleIcon">&#xf20d;</string>
</resources>

这是我的代码:

import sqlite3
from xml.dom import minidom
import xml.etree.ElementTree as xml


dict_4_3 = {}

db = sqlite3.connect("table.db")
cursor = db.cursor()

cursor.executescript("""
 DROP TABLE IF EXISTS V_4_3;
 CREATE TABLE V_4_3 (ID integer primary key AUTOINCREMENT,
 TAG_NAME_4_3 TEXT,
 VALUE_4_3 TEXT);
 """)

xmldoc = minidom.parse('strings_4_3.xml')
xmldoc.normalize()
itemlist = xmldoc.getElementsByTagName('string')


for s in itemlist:
    try:
        dict_4_3[s.attributes['name'].value] = s.childNodes[0].nodeValue
        cursor.execute("""INSERT INTO V_4_3 (TAG_NAME_4_3, VALUE_4_3) VALUES (?, ?)""", (s.attributes['name'].value,
                                                                                         s.childNodes[0].nodeValue))
    except:
        cursor.execute("""INSERT INTO V_4_3 (TAG_NAME_4_3, VALUE_4_3) VALUES (?, ?)""", (s.attributes['name'].value,
                                                                                         None))

我只是从 XML 文件中获取值并希望将其放入 SQLite DB。所以我的麻烦是将数据库行中的“”之类的序列转换为。如何强制 Python 在不更改的情况下获取值并将它们固定到 DB 行?

感谢您的关注。

标签: pythonxmlsqlitecharacter-encoding

解决方案



推荐阅读