我正在使用版本PostgreSQL 8.3.12。將列XML數據轉換爲行
表的列名:的XMLTest
id
data
Data
列包含看起來像這樣的XML數據:
<?xml version="1.0" encoding="utf-8"?>
<ItemData>
<ReviewComments><?xml version="1.0" encoding="utf-8"?>
</ReviewComments>
<SmartTextData RootProtect="True">
<STI_Summary IID="d10c5cbf-f5cf-4478-9f33-4580c1930413" IR="True">
<ObjectValue />
<CP />
<SIProps ST="4" PL="False" PLS="" />
<STI_SummaryActiveProblemsField LIID="cdbd7044-ccde-11db-8cba-df0a56d89593" IID="37742a5f-7998-4715-8d43-0d7a19284d44" IR="True" RW="1">
<HD Title="Active Problems" />
<ObjectValue />
<CP>
<PosReplace />
<NegReplace />
</CP>
<SIProps ST="4" PL="False" PLS="" />
<STI_US>
<ObjectValue>
<TextValue>
<![CDATA[
]]>
</TextValue>
</ObjectValue>
<CP />
<SIProps ST="1" SS=" " PL="False" PLS="" />
</STI_US>
<STI_DxItem LIID="71194038-8ffb-488b-8af5-5f1f1a679115" IID="aaf2de4e-2f1f-409b-87b7-b7265bec37db" RW="1">
<HD Title="Coronary artery disease " />
<ObjectValue>
<Code>
<CodingSystem>ICD-9 CM</CodingSystem>
<Value>414.01</Value>
</Code>
<Code>
<CodingSystem>SWICPC</CodingSystem>
<Value>08.0.K76.CIR</Value>
</Code>
</ObjectValue>
</STI_DxItem >
</STI_Summary>
</SmartTextData>
</ItemData>
我想潑XML標籤IID和代碼數據,以各自的ID列。
預期輸出:
ID LIID Code_Value CodingSystem
1 d10c5cbf-f5cf-4478-9f33-4580c1930413 NULL
1 37742a5f-7998-4715-8d43-0d7a19284d44 NULL
1 aaf2de4e-2f1f-409b-87b7-b7265bec37db 414.01 IC CM
1 aaf2de4e-2f1f-409b-87b7-b7265bec37db 08.0.K76.CIR SWICPC
注:我使用的版本的PostgreSQL 8.3.12與xmlpath中不工作的這一些新的語法。
只是我想要將XML數據轉換爲行列結構。
感謝您閱讀本文。
文件不能被驗證,存在丟失標籤.http://www.xmlvalidation.com/ – McNets
你的XML是不是正確的平衡,'STI_DxItem'不關閉。 – jcaron
@jcaron代碼編輯。是否有任何WAT在這裏泄漏了所有的LLID。 –