ISQLXML Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 |
| CharacterStream |
Devuelve un lector que se puede usar para leer datos de caracteres de este objeto SQL |
| Handle |
Obtiene el valor JNI del objeto Android subyacente. (Heredado de IJavaObject) |
| JniIdentityHashCode |
Devuelve el valor de |
| 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 |
| 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 |
| 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| 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 |