Condividi tramite


ISQLXML Interfaccia

Definizione

Mapping nel linguaggio di programmazione JavaTM per il tipo XML SQL.

[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
Attributi
Implementazioni

Commenti

Mapping nel linguaggio di programmazione JavaTM per il tipo XML SQL. XML è un tipo predefinito che archivia un valore XML come valore di colonna in una riga di una tabella di database. Per impostazione predefinita, i driver implementano un oggetto SQLXML come puntatore logico ai dati XML anziché ai dati stessi. Un oggetto SQLXML è valido per la durata della transazione in cui è stata creata.

L'interfaccia SQLXML offre metodi per accedere al valore XML come Stringa, Lettore o Scrittore oppure come Flusso. È anche possibile accedere al valore XML tramite un oggetto Source o impostato come Risultato, che vengono usati con API parser XML, ad esempio DOM, SAX e StAX, nonché con trasformazioni XSLT e valutazioni XPath.

I metodi nelle interfacce ResultSet, CallableStatement e PreparedStatement, ad esempio getSQLXML consentono a un programmatore di accedere a un valore XML. Inoltre, questa interfaccia include metodi per l'aggiornamento di un valore XML.

Il valore XML dell'istanza SQLXML può essere ottenuto come BinaryStream usando

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

Ad esempio, per analizzare un valore XML con un parser DOM:

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

o per analizzare un valore XML con un parser SAX al gestore:

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

o per analizzare un valore XML con un parser StAX:

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

Poiché i database possono usare una rappresentazione ottimizzata per il codice XML, l'accesso al valore tramite getSource() e setResult() può comportare prestazioni di elaborazione migliorate senza serializzare una rappresentazione del flusso e analizzare il codice XML.

Ad esempio, per ottenere un nodo documento DOM:

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

oppure per impostare il valore su un nodo documento DOM su myNode:

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

oppure per inviare eventi SAX al gestore:

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

oppure per impostare il valore del risultato dagli eventi 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();

oppure per ottenere gli eventi StAX:

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

oppure per impostare il valore del risultato dagli eventi StAX:

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

oppure per eseguire trasformazioni XSLT sul valore XML usando XSLT nell'output xsltFile nel file 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);

oppure per valutare un'espressione XPath sul valore 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);

Per impostare il valore XML come risultato di una trasformazione 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);

Qualsiasi origine può essere trasformata in un risultato usando la trasformazione identity specificata chiamando 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);

Per scrivere il contenuto di un oggetto Source nell'output standard:

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

Per creare un DOMSource da un DOMResult:

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

I valori XML incompleti o non validi possono causare un'eccezione SQLException quando è impostata o l'eccezione può verificarsi quando si verifica execute(). Tutti i flussi devono essere chiusi prima che si verifichi execute() o verrà generata un'eccezione SQLException.

La lettura e la scrittura di valori XML da o verso un oggetto SQLXML possono verificarsi al massimo una volta. Gli stati concettuali leggibili e non leggibili determinano se una delle API di lettura restituirà un valore o genererà un'eccezione. Gli stati concettuali scrivibili e non scrivibili determinano se una delle API di scrittura imposterà un valore o genererà un'eccezione.

Lo stato passa da leggibile a non leggibile una volta free() o una qualsiasi delle API di lettura vengono chiamate: getBinaryStream(), getCharacterStream(), getSource() e getString(). Le implementazioni possono anche modificare lo stato in modo che non sia scrivibile quando ciò si verifica.

Lo stato passa da scrivibile a non scrivibile una volta free() o una delle API di scrittura vengono chiamate: setBinaryStream(), setCharacterStream(), setResult() e setString(). Le implementazioni possono anche modificare lo stato in modo che non sia leggibile quando ciò si verifica.

Tutti i metodi nell'interfaccia SQLXML devono essere completamente implementati se il driver JDBC supporta il tipo di dati.

Aggiunta nella versione 1.6.

Documentazione java per java.sql.SQLXML.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal Android e usato in base ai termini descritti in 2.5 Attribution License Creative Commons 2.5 Attribution License.

Proprietà

BinaryStream

Restituisce un flusso che può essere utilizzato per leggere i dati binari da questo oggetto SQL XML .

CharacterStream

Restituisce un lettore che può essere utilizzato per leggere i dati di tipo carattere da questo oggetto SQL XML .

Handle

Ottiene il valore JNI dell'oggetto Android sottostante.

(Ereditato da IJavaObject)
JniIdentityHashCode

Restituisce il valore di java.lang.System.identityHashCode() per l'istanza di di cui è stato eseguito il wrapping.

(Ereditato da IJavaPeerable)
JniManagedPeerState

Stato del peer gestito.

(Ereditato da IJavaPeerable)
JniPeerMembers

Supporto per l'accesso ai membri e la chiamata.

(Ereditato da IJavaPeerable)
PeerReference

Restituisce un JniObjectReference oggetto dell'istanza dell'oggetto Java di cui è stato eseguito il wrapping.

(Ereditato da IJavaPeerable)
String

Restituisce i dati di questo oggetto come stringa XML.

Metodi

Disposed()

Chiamato quando l'istanza è stata eliminata.

(Ereditato da IJavaPeerable)
DisposeUnlessReferenced()

Se non sono presenti riferimenti in sospeso a questa istanza, chiama Dispose(); in caso contrario, non esegue alcuna operazione.

(Ereditato da IJavaPeerable)
Finalized()

Chiamato quando l'istanza è stata finalizzata.

(Ereditato da IJavaPeerable)
Free()

Questo metodo chiude questo oggetto e rilascia le risorse contenute.

GetSource(Class)

Restituisce un oggetto Source per la lettura del valore XML designato dall'istanza SQLXML.

SetBinaryStream()

Recupera un flusso che può essere utilizzato per scrivere il valore XML rappresentato da questa istanza DI SQLXML.

SetCharacterStream()

Recupera un flusso da utilizzare per scrivere il valore XML rappresentato da questa istanza DI SQLXML.

SetJniIdentityHashCode(Int32)

Impostare il valore restituito da JniIdentityHashCode.

(Ereditato da IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Mapping nel linguaggio di programmazione JavaTM per il tipo XML SQL.

(Ereditato da IJavaPeerable)
SetPeerReference(JniObjectReference)

Impostare il valore restituito da PeerReference.

(Ereditato da IJavaPeerable)
SetResult(Class)

Restituisce un risultato per impostare il valore XML designato dall'istanza SQLXML.

UnregisterFromRuntime()

Annullare la registrazione di questa istanza in modo che il runtime non lo restituisca dalle chiamate future Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Ereditato da IJavaPeerable)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo verificato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Mapping nel linguaggio di programmazione JavaTM per il tipo XML SQL.

GetJniTypeName(IJavaPeerable)

Mapping nel linguaggio di programmazione JavaTM per il tipo XML SQL.

Si applica a