我有以下XML,希望将其映射到关系模型,以便可以查询并重新导出相同的XML。
<?xml version="1.0" encoding="UTF-8"?>
<document name="001_COUNTERPARTY_CATEGORY_UK_BOE" date="2022-06-30" level="01-01-xx-xx-xx">
<PARTY F="01-01" PARTY_ID="201_A_Prod_P" />
<PARTY_FIELD F1="01-01" PARTY_ID="201_A_Prod_P" fieldname="CTY0" value="IR"/>
<PARTY_FIELD F1="01-01" PARTY_ID="201_A_Prod_P" fieldname="CTY1" value="IR"/>
<PARTY_FIELD F1="01-01" PARTY_ID="201_A_Prod_P" fieldname="SIE" value="64_19"/>
<PARTY_FIELD F1="01-01" PARTY_ID="201_A_Prod_P" fieldname="SIE" value="0"/>
<CHANNEL F="01-01" CHANNEL_ID="201_A_Prod_PRODUCT"/>
<CHANNEL_FIELD F="01-01" CHANNEL_ID="201_A_Prod_PRODUCT" fieldname="PRD013" value="1010"/>
<CHANNEL_FIELD F="01-01" CHANNEL_ID="201_A_Prod_PRODUCT" fieldname="CUR007" value="GBP"/>
<CHANNEL_FIELD F="01-01" CHANNEL_ID="201_A_Prod_PRODUCT" fieldname="PARTY_ID30" value="201_A_Prod_P"/>
<RATE F="01-01" RATE_ID="201_A_Prod_PRODUCT"/>
<RATE_FIELD F="01-01" RATE_ID="201_A_Prod_PRODUCT" fieldname="CHANNEL_ID0" value="201_A_Prod_PRODUCT"/>
<RATE_FIELD F="01-01" RATE_ID="201_A_Prod_PRODUCT" fieldname="C213" value="100000"/>
<RATE_FIELD F="01-01" RATE_ID="201_A_Prod_PRODUCT" fieldname="C214" value="100000"/>
<RATE_FIELD F="01-01" RATE_ID="201_A_Prod_PRODUCT" fieldname="C215" value="100000"/>
<RATE_FIELD F="01-01" RATE_ID="201_A_Prod_PRODUCT" fieldname="PTY001" value="1"/>
<RATE_FIELD F="01-01" RATE_ID="201_A_Prod_PRODUCT" fieldname="PTY002" value="1"/>
<RATE_FIELD F="01-01" RATE_ID="201_A_Prod_PRODUCT" fieldname="PTY006" value="0"/>
<RATE_FIELD F="01-01" RATE_ID="201_A_Prod_PRODUCT" fieldname="PTY025" value="0"/>
</document>
PARTY
和CHANNEL
通过CHANNEL_FIELD's
属性PARTY_ID30
相关联
CHANNEL
与RATE
通过RATE_FIELD's
属性CHANNEL_ID0
相关联
我创建了以下表格,但我不能像给定的xml一样查询它们以导出:
PARTY (F,PARTY_ID,PARTY_FIELDNAME,PARTY_FIELDVALUE)
CHANNEL (F,CHANNEL_ID,CHANNEL_FIELDNAME,CHANNEL_FIELDVALUE)
PRODUCT (F,RATE_ID,RATE_FIELDNAME,RATE_FIELDVALUE)
我需要更改模式来查询并导出行以创建此xml或构建查询以按与上述模式相同的顺序生成行。
另一种方法是将行导出为csv,然后使用Python生成xml,但对于大型数据集来说可能会有额外的开销。
CHANNEL_FIELD
字段名作为外键,这有点混乱。您确定要坚持使用这个模型吗?即使对于XML来说,这也非常奇怪。 - digitalarbeiter