Dans SQL Server, il est facile d'analyser une variable vachar qui contient simple extrait de XML construit avec des attributs et le charger dans une table temporaire - voir exemple ci-dessous:Comment analyser un extrait XML simple dans Oracle PL/SQL et le charger dans une table temporaire globale?
declare @UpdateXML VARCHAR(8000)
set @UpdateXML='<ArrayOfRecords>
<Record Field01="130" Field02="1700" Field03="C" />
<Record Field01="131" Field02="1701" Field03="C" />
<Record Field01="132" Field02="1702" Field03="C" />
</ArrayOfRecords>'
DECLARE @hdoc int
EXEC sp_xml_preparedocument @hdoc OUTPUT, @UpdateXML
INSERT
INTO #tblTemp(
[Field01],
[Field02],
[Field03]
)
SELECT *
FROM OPENXML(@hdoc, '//ArrayOfRecords/Record')
WITH (Field01 int,
Field02 int,
Field03 char(1)
)
EXEC sp_xml_removedocument @hdoc
est-il un exemple simple qui fait l'équivalent de cela dans Oracle PL/SQL?
Dans Oracle, il existe un package DBMS_XMLSTORE mais il souhaite que l'extrait XML soit dans un format canonique spécifique à l'aide des éléments ROWSET et ROW. DBMS_XMLSTORE ne semble pas fonctionner avec les attributs XML. De plus, je ne suis pas sûr à 100% si je dois créer un XSD de mon extrait XML et l'enregistrer sur la base de données Oracle avant de pouvoir utiliser l'un des autres outils/requêtes XML PL/SQL.
Merci!
+1. Très vrai. Il y a tellement d'options et vous ne savez pas lequel correspond. – Guru