Langage

ISQLXML Interface

Définition

Mappage dans le langage de programmation JavaTM pour le type SQL XML.

[Android.Runtime.Register("java/sql/SQLXML", "", "Java.Sql.ISQLXMLInvoker")]
public interface ISQLXML : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/sql/SQLXML", "", "Java.Sql.ISQLXMLInvoker")>]
type ISQLXML = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Attributs
Implémente

Remarques

Mappage dans le langage de programmation JavaTM pour le type SQL XML. XML est un type intégré qui stocke une valeur XML en tant que valeur de colonne dans une ligne d’une table de base de données. Par défaut, les pilotes implémentent un objet SQLXML en tant que pointeur logique vers les données XML plutôt que les données elles-mêmes. Un objet SQLXML est valide pendant la durée de la transaction dans laquelle elle a été créée.

L’interface SQLXML fournit des méthodes pour accéder à la valeur XML en tant que chaîne, lecteur ou enregistreur, ou en tant que flux. La valeur XML peut également être accessible via une source ou un jeu en tant que résultat, qui sont utilisés avec des API d’analyseur XML telles que DOM, SAX et StAX, ainsi qu’avec des transformations XSLT et des évaluations XPath.

Les méthodes des interfaces ResultSet, CallableStatement et PrepareStatement, telles que getSQLXML, permettent à un programmeur d’accéder à une valeur XML. En outre, cette interface a des méthodes pour mettre à jour une valeur XML.

La valeur XML de l’instance SQLXML peut être obtenue en tant que BinaryStream à l’aide de

SQLXML sqlxml = resultSet.getSQLXML(column);
              InputStream binaryStream = sqlxml.getBinaryStream();

Par exemple, pour analyser une valeur XML avec un analyseur DOM :

DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
              Document result = parser.parse(binaryStream);

ou pour analyser une valeur XML avec un analyseur SAX à votre gestionnaire :

SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
              parser.parse(binaryStream, myHandler);

ou pour analyser une valeur XML avec un analyseur StAX :

XMLInputFactory factory = XMLInputFactory.newInstance();
              XMLStreamReader streamReader = factory.createXMLStreamReader(binaryStream);

Étant donné que les bases de données peuvent utiliser une représentation optimisée pour le code XML, l’accès à la valeur via getSource() et setResult() peut entraîner une amélioration des performances de traitement sans sérialiser une représentation de flux et analyser le code XML.

Par exemple, pour obtenir un nœud de document DOM :

DOMSource domSource = sqlxml.getSource(DOMSource.class);
              Document document = (Document) domSource.getNode();

ou pour définir la valeur sur un nœud de document DOM sur myNode :

DOMResult domResult = sqlxml.setResult(DOMResult.class);
              domResult.setNode(myNode);

ou, pour envoyer des événements SAX à votre gestionnaire :

SAXSource saxSource = sqlxml.getSource(SAXSource.class);
              XMLReader xmlReader = saxSource.getXMLReader();
              xmlReader.setContentHandler(myHandler);
              xmlReader.parse(saxSource.getInputSource());

ou, pour définir la valeur de résultat à partir d’événements SAX :

SAXResult saxResult = sqlxml.setResult(SAXResult.class);
              ContentHandler contentHandler = saxResult.getXMLReader().getContentHandler();
              contentHandler.startDocument();
              // set the XML elements and attributes into the result
              contentHandler.endDocument();

ou, pour obtenir des événements StAX :

StAXSource staxSource = sqlxml.getSource(StAXSource.class);
              XMLStreamReader streamReader = staxSource.getXMLStreamReader();

ou, pour définir la valeur de résultat à partir d’événements StAX :

StAXResult staxResult = sqlxml.setResult(StAXResult.class);
              XMLStreamWriter streamWriter = staxResult.getXMLStreamWriter();

ou, pour effectuer des transformations XSLT sur la valeur XML à l’aide du XSLT dans la sortie xsltFile dans le fichier resultFile :

File xsltFile = new File("a.xslt");
              File myFile = new File("result.xml");
              Transformer xslt = TransformerFactory.newInstance().newTransformer(new StreamSource(xsltFile));
              Source source = sqlxml.getSource(null);
              Result result = new StreamResult(myFile);
              xslt.transform(source, result);

ou, pour évaluer une expression XPath sur la valeur XML :

XPath xpath = XPathFactory.newInstance().newXPath();
              DOMSource domSource = sqlxml.getSource(DOMSource.class);
              Document document = (Document) domSource.getNode();
              String expression = "/foo/@bar";
              String barValue = xpath.evaluate(expression, document);

Pour définir la valeur XML comme résultat d’une transformation XSLT :

File sourceFile = new File("source.xml");
              Transformer xslt = TransformerFactory.newInstance().newTransformer(new StreamSource(xsltFile));
              Source streamSource = new StreamSource(sourceFile);
              Result result = sqlxml.setResult(null);
              xslt.transform(streamSource, result);

Toute source peut être transformée en résultat à l’aide de la transformation d’identité spécifiée en appelant newTransformer() :

Transformer identity = TransformerFactory.newInstance().newTransformer();
              Source source = sqlxml.getSource(null);
              File myFile = new File("result.xml");
              Result result = new StreamResult(myFile);
              identity.transform(source, result);

Pour écrire le contenu d’une source dans une sortie standard :

Transformer identity = TransformerFactory.newInstance().newTransformer();
              Source source = sqlxml.getSource(null);
              Result result = new StreamResult(System.out);
              identity.transform(source, result);

Pour créer un DOMSource à partir d’un DOMResult :

DOMSource domSource = new DOMSource(domResult.getNode());

Les valeurs XML incomplètes ou non valides peuvent entraîner une exception SQLException lors de la définition ou de l’exception lors de l’exécution(). Tous les flux doivent être fermés avant qu’execute() se produise ou qu’une exception SQLException soit levée.

La lecture et l’écriture de valeurs XML dans ou à partir d’un objet SQLXML peuvent se produire au maximum une fois. Les états conceptuels de lisibles et non lisibles déterminent si l’une des API de lecture retourne une valeur ou lève une exception. Les états conceptuels de l’écriture et non accessibles en écriture déterminent si l’une des API d’écriture définit une valeur ou lève une exception.

L’état passe de la lecture à non lisible une fois free() ou l’une des API de lecture sont appelées : getBinaryStream(), getCharacterStream(), getSource() et getString(). Les implémentations peuvent également changer l’état pour qu’il ne soit pas accessible en écriture lorsque cela se produit.

L’état passe de l’écriture accessible en écriture à une fois free() ou l’une des API d’écriture appelées : setBinaryStream(), setCharacterStream(), setResult() et setString(). Les implémentations peuvent également changer l’état pour qu’il ne soit pas lisible lorsque cela se produit.

Toutes les méthodes de l’interface SQLXML doivent être entièrement implémentées si le pilote JDBC prend en charge le type de données.

Ajouté dans la version 1.6.

Java documentation pour java.sql.SQLXML.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Propriétés

Nom Description
BinaryStream

Retourne un flux qui peut être utilisé pour lire des données binaires à partir de cet objet SQL XML .

CharacterStream

Retourne un lecteur qui peut être utilisé pour lire des données de caractères à partir de cet objet SQL XML .

Handle

Obtient la valeur JNI de l’objet Android sous-jacent.

(Hérité de IJavaObject)
JniIdentityHashCode

Retourne la valeur de java.lang.System.identityHashCode() l’instance encapsulée.

(Hérité de IJavaPeerable)
JniManagedPeerState

État de l’homologue managé.

(Hérité de IJavaPeerable)
JniObjectReferenceControlBlock

Mappage dans le langage de programmation JavaTM pour le type SQL XML.

(Hérité de IJavaPeerable)
JniPeerMembers

Prise en charge de l’accès aux membres et de l’appel.

(Hérité de IJavaPeerable)
PeerReference

Retourne une JniObjectReference instance d’objet Java encapsulée.

(Hérité de IJavaPeerable)
String

Retourne les données de cet objet sous forme de chaîne XML.

Méthodes

Nom Description
Disposed()

Appelé lorsque l’instance a été supprimée.

(Hérité de IJavaPeerable)
DisposeUnlessReferenced()

S’il n’existe aucune référence en suspens à cette instance, les appels Dispose(); sinon, ne fait rien.

(Hérité de IJavaPeerable)
Finalized()

Appelé lorsque l’instance a été finalisée.

(Hérité de IJavaPeerable)
Free()

Cette méthode ferme cet objet et libère les ressources qu’elle contient.

GetSource(Class)

Retourne une source pour lire la valeur XML désignée par cette instance SQLXML.

SetBinaryStream()

Récupère un flux qui peut être utilisé pour écrire la valeur XML que représente cette instance SQLXML.

SetCharacterStream()

Récupère un flux à utiliser pour écrire la valeur XML que représente cette instance SQLXML.

SetJniIdentityHashCode(Int32)

Définissez la valeur retournée par JniIdentityHashCode.

(Hérité de IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Mappage dans le langage de programmation JavaTM pour le type SQL XML.

(Hérité de IJavaPeerable)
SetPeerReference(JniObjectReference)

Définissez la valeur retournée par PeerReference.

(Hérité de IJavaPeerable)
SetResult(Class)

Retourne un résultat pour définir la valeur XML désignée par cette instance SQLXML.

UnregisterFromRuntime()

Annulez l’inscription de cette instance afin que le runtime ne le retourne pas à partir d’appels futurs Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Hérité de IJavaPeerable)

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Mappage dans le langage de programmation JavaTM pour le type SQL XML.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à