oracle 解析同名xml 问题
mzsjDm 是动态数据
select t.* from xmltable(
'$B/ztbTypeCount/data' passing ---这里指定根节点
xmltype('<ztbTypeCount><data><ztbTypePlaceIndex>0</ztbTypePlaceIndex><ztbTypePlacename>外一手术室</ztbTypePlacename><mzsjDm v="0">C_335</mzsjDm><mzsjDm v="0">C_38</mzsjDm><mzsjDm v="0">C_36</mzsjDm><mzsjDm v="0">C_37</mzsjDm><mzsjDm v="0">C_40</mzsjDm><mzsjDm v="0">C_35</mzsjDm><mzsjDm v="0">C_39</mzsjDm><mzsjDm v="0">C_325</mzsjDm><mzsjDm v="0">C_34</mzsjDm><mzsjDm v="1">C_42</mzsjDm></data><data><ztbTypePlaceIndex>1</ztbTypePlaceIndex><ztbTypePlacename>外二手术室</ztbTypePlacename><mzsjDm v="0">C_335</mzsjDm><mzsjDm v="0">C_38</mzsjDm><mzsjDm v="0">C_36</mzsjDm><mzsjDm v="0">C_37</mzsjDm><mzsjDm v="0">C_40</mzsjDm><mzsjDm v="0">C_35</mzsjDm><mzsjDm v="0">C_39</mzsjDm><mzsjDm v="0">C_325</mzsjDm><mzsjDm v="0">C_34</mzsjDm><mzsjDm v="0">C_42</mzsjDm></data></ztbTypeCount>
') as B
columns ---指定列名称
code1 varchar2(32) path '/data/ztbTypePlaceIndex',
code2 varchar2(32) path '/data/ztbTypePlacename'
--ztblx1 varchar2(32) path '/data/mzsjDm[1]',
--ztblxValue1 varchar2(32) path '/data/mzsjDm[1]/@v',
--ztblx2 varchar2(32) path '/data/mzsjDm[2]',
--ztblxValue2 varchar2(32) path '/data/mzsjDm[2]/@v',
--ztblx3 varchar2(32) path '/data/mzsjDm[3]',
--ztblxValue3 varchar2(32) path '/data/mzsjDm[3]/@v',
--ztblx4 varchar2(32) path '/data/mzsjDm[4]',
--ztblxValue4 varchar2(32) path '/data/mzsjDm[4]/@v',
--ztblx5 varchar2(32) path '/data/mzsjDm[5]',
--ztblxValue5 varchar2(32) path '/data/mzsjDm[5]/@v',
--ztblx6 varchar2(32) path '/data/mzsjDm[6]',
--ztblxValue6 varchar2(32) path '/data/mzsjDm[6]/@v',
--ztblx7 varchar2(32) path '/data/mzsjDm[7]',
--ztblxValue7 varchar2(32) path '/data/mzsjDm[7]/@v',
--ztblx8 varchar2(32) path '/data/mzsjDm[8]',
--ztblxValue8 varchar2(32) path '/data/mzsjDm[8]/@v',
--ztblx9 varchar2(32) path '/data/mzsjDm[9]',
--ztblxValue9 varchar2(32) path '/data/mzsjDm[9]/@v',
--ztblx10 varchar2(32) path '/data/mzsjDm[10]',
--ztblxValue10 varchar2(32) path '/data/mzsjDm[10]/@v'
-- code3 varchar2(32) path '/data/mzsjDm'
--code4 varchar2(32) path '/data/mzsjDm/@v'
) t