というわけで、これが私のゲームプランです.....
Pythonのxpath
ここに私のxmlがあります
したがって、この xml はデータベース ( ca ) に保存されます。この「データ」を抽出して、これらすべての値レイヤーを取得し、別のデータベース ( a ) に保存する必要があります。
これが私がこれまでに思いついたものです..
import pyodbc
from lxml import etree
from StringIO import StringIO
con_ca = pyodbc.connect(..)
con_a = pyodbc.connect(..)
cur_ca = con_ca.cursor()
cur_c = con_c.cursor()
cur_ca.execute("""
select id_original,data
from table
""")
rows_ca = cur_ca.fetchall()
for row in rows_ca:
id_original = id_original
x = str(row.data)
root = etree.fromstring(x)
BValid = etree.XPath('/Data/Response/Detail/B/Valid')
BPass = etree.XPath('/Data/Response/Detail/B/Pass')
BDetails = etree.XPath('/Data/Response/Detail/B/Details')
BCode = etree.XPath('/Data/Response/Detail/B/Code')
BDecisionS = etree.XPath('/Data/Response/Detail/B/Decision/Result')
BDecisionB = etree.XPath('/Data/Response/Detail/B/Decision/Bucket')
con_a.execute("""
INSERT INTO table2 (id_original,BValid,BPass,BDetails,BCode,BDecisionS BDecisionB)
VALUES(?, ?, ?,?, ?, ?, ?)
""")
.. fetchall() の後で ('//text') を取得できた以外はすべてうまくいきます : しかし、Xpath を使用して特定のノードに移動し、この例から値またはテキストを取得するにはどうすればよいでしょうか?