ISQLXML Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 |
CharacterStream |
Restituisce un lettore che può essere utilizzato per leggere i dati di tipo carattere da questo oggetto SQL |
Handle |
Ottiene il valore JNI dell'oggetto Android sottostante. (Ereditato da IJavaObject) |
JniIdentityHashCode |
Restituisce il valore di |
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 |
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 |
SetJniManagedPeerState(JniManagedPeerStates) |
Mapping nel linguaggio di programmazione JavaTM per il tipo XML SQL. (Ereditato da IJavaPeerable) |
SetPeerReference(JniObjectReference) |
Impostare il valore restituito da |
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. |