ISQLXML Antarmuka

Definisi

Pemetaan dalam bahasa pemrograman JavaTM untuk jenis 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
Atribut
Penerapan

Keterangan

Pemetaan dalam bahasa pemrograman JavaTM untuk jenis XML SQL. XML adalah jenis bawaan yang menyimpan nilai XML sebagai nilai kolom dalam baris tabel database. Secara default driver menerapkan objek SQLXML sebagai penunjuk logis ke data XML daripada data itu sendiri. Objek SQLXML valid selama durasi transaksi pembuatannya.

Antarmuka SQLXML menyediakan metode untuk mengakses nilai XML sebagai String, Pembaca atau Penulis, atau sebagai Aliran. Nilai XML juga dapat diakses melalui Sumber atau ditetapkan sebagai Hasil, yang digunakan dengan XML Parser API seperti DOM, SAX, dan StAX, serta dengan transformasi XSLT dan evaluasi XPath.

Metode dalam antarmuka ResultSet, CallableStatement, dan PreparedStatement, seperti getSQLXML memungkinkan programmer mengakses nilai XML. Selain itu, antarmuka ini memiliki metode untuk memperbarui nilai XML.

Nilai XML instans SQLXML dapat diperoleh sebagai BinaryStream menggunakan

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

Misalnya, untuk mengurai nilai XML dengan pengurai DOM:

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

atau untuk mengurai nilai XML dengan pengurai SAX ke handler Anda:

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

atau untuk mengurai nilai XML dengan pengurai StAX:

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

Karena database dapat menggunakan representasi yang dioptimalkan untuk XML, mengakses nilai melalui getSource() dan setResult() dapat menyebabkan peningkatan performa pemrosesan tanpa membuat serialisasi ke representasi aliran dan mengurai XML.

Misalnya, untuk mendapatkan Node Dokumen DOM:

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

atau untuk mengatur nilai ke Simpul Dokumen DOM ke myNode:

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

atau, untuk mengirim peristiwa SAX ke handler Anda:

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

atau, untuk mengatur nilai hasil dari peristiwa 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();

atau, untuk mendapatkan peristiwa StAX:

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

atau, untuk mengatur nilai hasil dari peristiwa StAX:

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

atau, untuk melakukan transformasi XSLT pada nilai XML menggunakan XSLT dalam output xsltFile ke 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);

atau, untuk mengevaluasi ekspresi XPath pada nilai 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);

Untuk mengatur nilai XML menjadi hasil transformasi 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);

Sumber apa pun dapat diubah menjadi Hasil menggunakan transformasi identitas yang ditentukan dengan memanggil 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);

Untuk menulis konten Sumber ke output standar:

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

Untuk membuat DOMSource dari DOMResult:

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

Nilai XML yang tidak lengkap atau tidak valid dapat menyebabkan SQLException saat diatur atau pengecualian dapat terjadi ketika execute() terjadi. Semua aliran harus ditutup sebelum execute() terjadi atau SQLException akan dilemparkan.

Membaca dan menulis nilai XML ke atau dari objek SQLXML dapat terjadi paling banyak sekali. Status konseptual yang dapat dibaca dan tidak dapat dibaca menentukan apakah salah satu API pembacaan akan mengembalikan nilai atau melemparkan pengecualian. Status konseptual yang dapat ditulis dan tidak dapat ditulis menentukan apakah salah satu API penulisan akan menetapkan nilai atau melemparkan pengecualian.

Status berpindah dari yang dapat dibaca ke tidak dapat dibaca sekali gratis() atau API baca apa pun yang disebut: getBinaryStream(), getCharacterStream(), getSource(), dan getString(). Implementasi juga dapat mengubah status menjadi tidak dapat ditulis ketika ini terjadi.

Status berpindah dari dapat ditulis ke tidak dapat ditulis sekali bebas() atau API penulisan apa pun yang disebut: setBinaryStream(), setCharacterStream(), setResult(), dan setString(). Implementasi juga dapat mengubah status menjadi tidak dapat dibaca ketika ini terjadi.

Semua metode pada SQLXML antarmuka harus sepenuhnya diimplementasikan jika driver JDBC mendukung jenis data.

Ditambahkan dalam 1.6.

Java dokumentasi untuk java.sql.SQLXML.

Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.

Properti

Nama Deskripsi
BinaryStream

Mengembalikan aliran yang dapat digunakan untuk membaca data biner dari objek SQL XML ini.

CharacterStream

Mengembalikan pembaca yang dapat digunakan untuk membaca data karakter dari objek SQL XML ini.

Handle

Mendapatkan nilai JNI dari objek Android yang mendasar.

(Diperoleh dari IJavaObject)
JniIdentityHashCode

Mengembalikan nilai java.lang.System.identityHashCode() untuk instans yang dibungkus.

(Diperoleh dari IJavaPeerable)
JniManagedPeerState

Status serekan terkelola.

(Diperoleh dari IJavaPeerable)
JniPeerMembers

Akses anggota dan dukungan pemanggilan.

(Diperoleh dari IJavaPeerable)
PeerReference

Mengembalikan instans objek Java yang dibungkusJniObjectReference.

(Diperoleh dari IJavaPeerable)
String

Mengembalikan data objek ini sebagai string XML.

Metode

Nama Deskripsi
Disposed()

Dipanggil ketika instans telah dibuang.

(Diperoleh dari IJavaPeerable)
DisposeUnlessReferenced()

Jika tidak ada referensi yang luar biasa untuk instans ini, maka panggilan Dispose(); jika tidak, tidak melakukan apa pun.

(Diperoleh dari IJavaPeerable)
Finalized()

Dipanggil ketika instans telah diselesaikan.

(Diperoleh dari IJavaPeerable)
Free()

Metode ini menutup objek ini dan melepaskan sumber daya yang dipegangnya.

GetSource(Class)

Mengembalikan Sumber untuk membaca nilai XML yang ditunjuk oleh instans SQLXML ini.

SetBinaryStream()

Mengambil aliran yang dapat digunakan untuk menulis nilai XML yang diwakili instans SQLXML ini.

SetCharacterStream()

Mengambil aliran yang akan digunakan untuk menulis nilai XML yang diwakili instans SQLXML ini.

SetJniIdentityHashCode(Int32)

Atur nilai yang dikembalikan oleh JniIdentityHashCode.

(Diperoleh dari IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Pemetaan dalam bahasa pemrograman JavaTM untuk jenis XML SQL.

(Diperoleh dari IJavaPeerable)
SetPeerReference(JniObjectReference)

Atur nilai yang dikembalikan oleh PeerReference.

(Diperoleh dari IJavaPeerable)
SetResult(Class)

Mengembalikan Hasil untuk mengatur nilai XML yang ditunjuk oleh instans SQLXML ini.

UnregisterFromRuntime()

Batalkan pendaftaran instans ini sehingga runtime tidak akan mengembalikannya dari pemanggilan di masa mendatang Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Diperoleh dari IJavaPeerable)

Metode Ekstensi

Nama Deskripsi
GetJniTypeName(IJavaPeerable)

Mendapatkan nama JNI dari jenis instans self.

JavaAs<TResult>(IJavaPeerable)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Android.

JavaCast<TResult>(IJavaObject)

Pemetaan dalam bahasa pemrograman JavaTM untuk jenis XML SQL.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

Berlaku untuk