簡體   English   中英

lxml使用xpath函數在2個數據庫之間解析python中的XML?

[英]lxml parse XML in python between 2 database using xpath function how to ?

所以,這是我的游戲計划.....

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進入特定節點以從此示例中獲取值或文本?

(b_valid_text,) = root.xpath('/Data/Response/Detail/B/Valid/text()') 

謝謝安德烈! 以防萬一有人需要這個答案。 這有效!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM