我遇到了麻烦,不知道如何解决它。
我有XML文件。有例子:
<resources>
<string name="menuOptionMdReceiptIcon"></string>
<string name="menuOptionMdStoreMallDirectoryIcon"></string>
<string name="menuOptionMdPersonIcon"></string>
<string name="menuOptionMdLocalAtmIcon"></string>
<string name="menuOptionMdSwapHorizIcon"></string>
<string name="menuOptionMdPeopleIcon"></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。所以我的麻烦就是像&#34;&amp;#xf20d&#34;到DB行中的。如何强制Python在没有更改的情况下获取值并将它们插入到DB行中?
感谢您的关注。
答案 0 :(得分:1)
这就是XML的工作原理。实体<div class="container-fluid">
</div>
<div class="row">
<ul>
<?php foreach ($module as $row) :?>
<div class="col-md-8">
<div class="toggleHolder">
<span class="toggler"><span>▾</span>Show More</span>
<span class="toggler" style="display:none;"><span>▴</span> Show Less</span>
</div>
<li>
<p class="post" data-id="<?php echo $row['id'] ?>">
<?php echo $row['naam'] ?>
</p>
</li>
<div class="showpanel" style="display: none;">
<li>
<p>
<?php echo $row['beschrijving'] ?>
</p>
</li>
<?php foreach ($patient as $row2): ?>
<div class="col-md-10">
<div class='lists'>
<li class="flex-item">
<p class="text-left border-bottom post2" data-id="<?php echo $row2['id'] ?>">
<?php echo $row2['voornaam'].' '.$row2['achternaam'];?>
</p>
<input class="btnSubmit" type="submit" value="Module toewijzen" />
</li>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
<?php endforeach; ?>
</ul>
</div>
表示字符
。解析XML包括将实体转换为它们指示的字符。试图保留实体代码可能是一个坏主意。 SQLite应该能够存储这些字符。
但是,如果你确实需要这些实体,你可以让Python将非ASCII字符转换回实体,然后再将它们写入数据库,例如