ISQLXML Interfaz

Definición

Asignación en el lenguaje de programación JavaTM para el tipo XML de 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
Atributos
Implementaciones

Comentarios

Asignación en el lenguaje de programación JavaTM para el tipo XML de SQL. XML es un tipo integrado que almacena un valor XML como un valor de columna en una fila de una tabla de base de datos. De forma predeterminada, los controladores implementan un objeto SQLXML como puntero lógico a los datos XML en lugar de los propios datos. Un objeto SQLXML es válido durante la duración de la transacción en la que se creó.

La interfaz SQLXML proporciona métodos para tener acceso al valor XML como una cadena, un lector o escritor, o como un objeto Stream. También se puede tener acceso al valor XML a través de un origen o un conjunto como resultado, que se usan con las API del analizador XML, como DOM, SAX y StAX, así como con transformaciones XSLT y evaluaciones de XPath.

Los métodos de las interfaces ResultSet, CallableStatement y PreparedStatement, como getSQLXML, permiten al programador acceder a un valor XML. Además, esta interfaz tiene métodos para actualizar un valor XML.

El valor XML de la instancia de SQLXML se puede obtener como binaryStream mediante

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

Por ejemplo, para analizar un valor XML con un analizador DOM:

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

o para analizar un valor XML con un analizador SAX en el controlador:

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

o para analizar un valor XML con un analizador StAX:

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

Dado que las bases de datos pueden usar una representación optimizada para el XML, el acceso al valor a través de getSource() y setResult() puede provocar un rendimiento de procesamiento mejorado sin serializar en una representación de flujo y analizar el XML.

Por ejemplo, para obtener un nodo de documento DOM:

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

o para establecer el valor en un nodo de documento DOM en myNode:

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

o bien, para enviar eventos SAX al controlador:

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

o bien, para establecer el valor de resultado de los eventos 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();

o bien, para obtener eventos StAX:

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

o bien, para establecer el valor de resultado de los eventos StAX:

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

o bien, para realizar transformaciones XSLT en el valor XML mediante el XSLT en la salida xsltFile al archivo 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);

o bien, para evaluar una expresión XPath en el valor 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);

Para establecer el valor XML como resultado de una transformación 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);

Cualquier origen se puede transformar en un resultado mediante la transformación de identidad especificada llamando a 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);

Para escribir el contenido de un origen en la salida estándar:

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

Para crear un DOMSource a partir de DOMResult:

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

Los valores XML incompletos o no válidos pueden provocar una excepción SQLException cuando se establece o se produce la excepción cuando se produce execute(). Todas las secuencias deben cerrarse antes de que se produzca execute() o se producirá una excepción SQLException.

La lectura y escritura de valores XML en o desde un objeto SQLXML puede ocurrir como máximo una vez. Los estados conceptuales de legibles y no legibles determinan si una de las API de lectura devolverá un valor o producirá una excepción. Los estados conceptuales de escritura y no grabable determinan si una de las API de escritura establecerá un valor o producirá una excepción.

El estado pasa de legible a no legible una vez libre() o se llama a cualquiera de las API de lectura: getBinaryStream(), getCharacterStream(), getSource() y getString(). Las implementaciones también pueden cambiar el estado a no grabable cuando esto ocurre.

El estado se mueve de escritura a no grabable una vez free() o a cualquiera de las API de escritura se llama: setBinaryStream(), setCharacterStream(), setResult() y setString(). Las implementaciones también pueden cambiar el estado a no legible cuando esto ocurre.

Todos los métodos de la SQLXML interfaz deben implementarse completamente si el controlador JDBC admite el tipo de datos.

Agregado en la versión 1.6.

Documentación de Java para java.sql.SQLXML.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Propiedades

Nombre Description
BinaryStream

Devuelve una secuencia que se puede usar para leer datos binarios de este objeto SQL XML .

CharacterStream

Devuelve un lector que se puede usar para leer datos de caracteres de este objeto SQL XML .

Handle

Obtiene el valor JNI del objeto Android subyacente.

(Heredado de IJavaObject)
JniIdentityHashCode

Devuelve el valor de java.lang.System.identityHashCode() para la instancia ajustada.

(Heredado de IJavaPeerable)
JniManagedPeerState

Estado del mismo nivel administrado.

(Heredado de IJavaPeerable)
JniPeerMembers

Compatibilidad con la invocación y el acceso de miembros.

(Heredado de IJavaPeerable)
PeerReference

Devuelve un JniObjectReference de la instancia de objeto Java ajustada.

(Heredado de IJavaPeerable)
String

Devuelve los datos de este objeto como una cadena XML.

Métodos

Nombre Description
Disposed()

Se llama cuando se ha eliminado la instancia.

(Heredado de IJavaPeerable)
DisposeUnlessReferenced()

Si no hay referencias pendientes a esta instancia, llama a Dispose(); de lo contrario, no hace nada.

(Heredado de IJavaPeerable)
Finalized()

Se llama cuando se ha finalizado la instancia.

(Heredado de IJavaPeerable)
Free()

Este método cierra este objeto y libera los recursos que tenía.

GetSource(Class)

Devuelve un origen para leer el valor XML designado por esta instancia de SQLXML.

SetBinaryStream()

Recupera una secuencia que se puede usar para escribir el valor XML que representa esta instancia de SQLXML.

SetCharacterStream()

Recupera una secuencia que se va a usar para escribir el valor XML que representa esta instancia de SQLXML.

SetJniIdentityHashCode(Int32)

Establezca el valor devuelto por JniIdentityHashCode.

(Heredado de IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Asignación en el lenguaje de programación JavaTM para el tipo XML de SQL.

(Heredado de IJavaPeerable)
SetPeerReference(JniObjectReference)

Establezca el valor devuelto por PeerReference.

(Heredado de IJavaPeerable)
SetResult(Class)

Devuelve un resultado para establecer el valor XML designado por esta instancia de SQLXML.

UnregisterFromRuntime()

Anule el registro de esta instancia para que el entorno de ejecución no lo devuelva de invocaciones futuras Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Heredado de IJavaPeerable)

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Asignación en el lenguaje de programación JavaTM para el tipo XML de SQL.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a