【问题标题】:parse xml file and store data in database解析xml文件并将数据存储在数据库中
【发布时间】:2016-06-30 07:24:17
【问题描述】:
import MySQLdb
from xml.dom import minidom
import xml.dom.minidom

xmldoc = xml.dom.minidom.parse("Country.xml")

country= xmldoc.getElementsByTagName("country")[0]

sensors = country.getElementsByTagName("sensor")

for sensor in sensors:
    Translation = sensor.getElementsByTagName("Translation")[0].firstChild.data
    Name = sensor.getElementsByTagName("Name")[0].firstChild.data
    Prefix = sensor.getElementsByTagName("Prefix")[0].firstChild.data
    Percentage = sensor.getElementsByTagName("Percentage")[0].firstChild.data
    Position = sensor.getElementsByTagName("Position")[0].firstChild.data

    db = MySQLdb.connect("localhost","root","akshay","country")

# prepare a cursor object using cursor() method
cursor = db.cursor()

# Drop table if it already exist using execute() method.
cursor.execute("DROP TABLE IF EXISTS country_table")

# Create table as per requirement
sql = """CREATE TABLE country_table (_
         Translation  VARCHAR(20) NOT NULL,
         Name  VARCHAR(20) NOT NULL,
         Prefix INT(5) NOT NULL,  
         Percentage INT(3) NOT NULL,
         Position INT(3) NOT NULL
          )"""

sql1= ("INSERT INTO country_table(Translation, Name, Prefix, Percentage,Position) VALUES(%s, %s, %s, %s,%s)"
   %(Translation, Name, Prefix, Percentage,Position))

try:
   # Execute the SQL command

     cursor.execute(sql1)

except:
   # Rollback in case there is any error
   db.rollback()

# disconnect from server
db.close()

我收到以下错误:

Traceback(最近一次调用最后一次):文件“test.py”,第 5 行,在 xmldoc = xml.dom.minidom.parse("Country.xml") 文件 "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/dom/minidom.py", 第 1918 行,解析中 返回 expatbuilder.parse(file) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/dom/expatbuilder.py”, 第 924 行,解析中 结果 = builder.parseFile(fp) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/dom/expatbuilder.py”, 第 211 行,在 parseFile 中 parser.Parse("", True) xml.parsers.expat.ExpatError: no element found: line 43, column 0

请帮忙。

【问题讨论】:

标签: xml python-2.7 xml-parsing


【解决方案1】:

您还没有关闭 Origination 和 Transaction 标签,只需关闭它们,它应该可以正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-22
    相关资源
    最近更新 更多