知道如何決議這種記錄嗎?這條記錄有資料。
<record id="1" model="custom.model>
<field name="name">Create</field>
<field name="email_from">[email protected]</field>
<field name="email_to">[email protected]</field>
<field name="email_subject">Create new company</field>
<field name="email_body">
<![CDATA[
<record>
<field name="process">Create</field>
<field name="model">res.company</field>
<field name="name">XYZ Company</field>
<field name="currency_id">base.USD</field>
</record>
]]>
</field>
<field name="email_read">False</field>
</record>
uj5u.com熱心網友回復:
假設您在CDATA下面的代碼中查找資料,找到此部分并將其決議為 xml。
import xml.etree.ElementTree as ET
xml = '''<record id="1" model="custom.model">
<field name="name">Create</field>
<field name="email_from">[email protected]</field>
<field name="email_to">[email protected]</field>
<field name="email_subject">Create new company</field>
<field name="email_body">
<![CDATA[
<record>
<field name="process">Create</field>
<field name="model">res.company</field>
<field name="name">XYZ Company</field>
<field name="currency_id">base.USD</field>
</record>
]]>
</field>
<field name="email_read">False</field>
</record>'''
outer_root = ET.fromstring(xml)
email = outer_root.find('.//field[@name="email_body"]')
inner_root = ET.fromstring(email.text)
for field in inner_root.findall('field'):
print(f'{field.attrib["name"]} -> {field.text}')
輸出
process -> Create
model -> res.company
name -> XYZ Company
currency_id -> base.USD
uj5u.com熱心網友回復:
決議 XML 檔案:
- 進口
xml.dom.minidom。 - 使用函式
parse決議檔案:doc=xml.dom.minidom.parse(file name). - 從呼叫代碼使用XML檔案的XML標簽的串列:
doc.getElementsByTagName(“name of xml tags”)。
uj5u.com熱心網友回復:
基本上,您以正常方式使用 XML 決議器決議外部檔案,使用 導航到欄位name="email_body",提取該元素的字串值,然后將該字串傳遞給新的 XML 決議器以再次決議,以獲取內部檔案.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/314408.html
上一篇:jq腳本檔案未獲取鍵/值對
