oracle extractvalue関数を使用してxmlデータを選択するにはどうすればよいですか?今年、ブランドのためにxmlデータを別のパスに選択するためのOracle抽出値
私が使用して情報を復元することができます
extractvalue(xmltype(x.xml, 0), '//Vehicle/Year') as VEC_YEAR,
しかし、アドレスのために、私はエラーメッセージを持っている:ORA31011は、XML解析とORA19202とLPX00601に失敗:無効なトークン://ブランド/情報/データの/
SELECT
extractvalue(xmltype(x.xml, 0), '//Vehicle/Year') as VEC_YEAR,
extractvalue(xmltype(x.xml, 0), '//Vehicle/Brand') as VEC_BRAND,
CASE
WHEN extractvalue(xmltype(x.xml, 0), '//Brand/Info/Data/Address') IS NOT NULL THEN extractvalue(xmltype(x.xml, 0), '//Brand/Info/Data/Address')
WHEN extractvalue(xmltype(x.xml, 0), '//Brand/MainInfo/Info/Data/Address') IS NOT NULL THEN extractvalue(xmltype(x.xml, 0), '//Brand/MainInfo/Info/Data/Address')
END as Adress,
FROM xml_table x
住所これらは私が照会する必要がありますXML:
<?xml version="1.0" encoding="utf-8"?>
<VehicleValidation xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Validation Id="Validation">
<Vehicle>
<Year>2017</Year>
<Brand>One car brand</Brand>
</Vehicle>
<Brand>
<Info>
<Data>
<Address>
One car brand Address
</Address>
<Data>
</Info>
</Brand>
</Validation>
</VehicleValidation>
<?xml version="1.0" encoding="utf-8"?>
<VehicleValidation xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Validation Id="Validation">
<Vehicle>
<Year>2017</Year>
<Brand>One car brand</Brand>
</Vehicle>
<Brand>
<MainInfo>
<Info>
<Data>
<Address>
One car brand Address
</Address>
<Data>
</Info>
</MainInfo>
</Brand>
</Validation>
</VehicleValidation>
**参照している有効なXMLデータセットを表示してください。 – OldProgrammer
質問に追加するだけです –