Oracle xmltable関数を使用して、表のxmltype列からデータを取得する必要があります。 XMLデータにはデフォルトの名前空間が含まれています。だから私はこのコードを使用しています:今xmltable Oracle関数を複数のデフォルト名前空間で使用する
xmltable(xmlnamespaces(default 'myDefaultNamespace'),...
を私が直面しています問題は、一部の文書は、(彼らはまったく同じフォーマットされている場合でも)同じデフォルトの名前空間を持っていないということです。その結果、1つのクエリですべてのデータを取得することができなくなり、もう1つの名前空間をデフォルトパラメータとして実行する必要があります。
複数のデフォルト名前空間を渡すことでテーブルの2倍のクエリを避ける方法はありますか?
おかげで、
コード例を追加できますか? 2番目の名前空間文字列を追加すると、AS識別子構造体を使用する必要があります。これは、XML文書の名前空間の接頭辞が要素にないため機能しません。 – DoubleT28
名前空間が文書内に存在しない場合、それは1つのクエリでは動作しません。デフォルトは1つだけです。 –