我有一个表MyTable,其中包含三个字段-FIELD1,FIELD2和FIELD3。我收到以下XML。我们可以使用SQL查询将此xml转换为表格形式吗? [我知道我们可以转换标记名称为field_name且标记值为字段值的xml,但是此处的xml格式不同。在这里,字段名称是标签的标签值,而字段值是标签的值
<?xml version="1.0" encoding="UTF-8"?>
<body>
<parameters>
<parameter>
<key>Field1</key>
<value>Field1_value</value>
</parameter>
<parameter>
<key>Field2</key>
<value>Field2_value</value>
</parameter>
<parameter>
<key>Field3</key>
<value>Field3_value</value>
</parameter>
<parameters>
</body>
答案 0 :(得分:1)
您可以将XMLQuery或XMLTable与Xpath结合使用,Xpath可以为每个键值选择参数和过滤器:
<td>
<span editable-number="profile.ZipCode"
e-min="0" e-max="100"
e-ng-model="profile.ZipCode"
e-form="editableForm"
e-ng-blur="zipChange($data)"
onbeforesave="checkNumber($data)"
e-name="ZipCode">
{{profile.ZipCode}}
</span>
</td>
具有XML(具有固定的结束标记!)的演示通过XMLType构造函数调用作为字符串文字传递:
select *
from xmltable ('/body/parameters'
passing <your XML document>
columns field1 varchar2(20) path 'parameter[key="Field1"]/value',
field2 varchar2(20) path 'parameter[key="Field2"]/value',
field3 varchar2(20) path 'parameter[key="Field3"]/value'
);