Share via


ISQLXML 인터페이스

정의

SQL XML 형식에 대한 JavaTM 프로그래밍 언어의 매핑입니다.

[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
특성
구현

설명

SQL XML 형식에 대한 JavaTM 프로그래밍 언어의 매핑입니다. XML은 XML 값을 데이터베이스 테이블 행의 열 값으로 저장하는 기본 제공 형식입니다. 기본적으로 드라이버는 SQLXML 개체를 데이터 자체가 아닌 XML 데이터에 대한 논리적 포인터로 구현합니다. SQLXML 개체는 생성된 트랜잭션 기간 동안 유효합니다.

SQLXML 인터페이스는 String, Reader 또는 Writer 또는 Stream으로서 XML 값에 액세스하는 메서드를 제공합니다. XML 값은 원본을 통해 액세스하거나 Result로 설정될 수도 있습니다. 이 API는 DOM, SAX 및 StAX와 같은 XML 파서 API와 XSLT 변환 및 XPath 평가와 함께 사용됩니다.

getSQLXML과 같은 ResultSet, CallableStatement 및 PreparedStatement 인터페이스의 메서드를 사용하면 프로그래머가 XML 값에 액세스할 수 있습니다. 또한 이 인터페이스에는 XML 값을 업데이트하는 메서드가 있습니다.

SQLXML instance XML 값은 를 사용하여 BinaryStream으로 가져올 수 있습니다.

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

예를 들어 DOM 파서로 XML 값을 구문 분석하려면 다음을 수행합니다.

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

또는 SAX 파서가 있는 XML 값을 처리기에 구문 분석하려면 다음을 수행합니다.

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

또는 StAX 파서로 XML 값을 구문 분석합니다.

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

데이터베이스는 XML에 최적화된 표현을 사용할 수 있으므로 getSource() 및 setResult()를 통해 값에 액세스하면 스트림 표현으로 직렬화하고 XML을 구문 분석하지 않고 처리 성능이 향상될 수 있습니다.

예를 들어 DOM 문서 노드를 가져오려면 다음을 수행합니다.

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

또는 값을 DOM 문서 노드로 myNode로 설정하려면 다음을 수행합니다.

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

또는 처리기에 SAX 이벤트를 보내려면 다음을 수행합니다.

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

또는 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();

또는 StAX 이벤트를 가져오려면 다음을 수행합니다.

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

또는 StAX 이벤트의 결과 값을 설정하려면 다음을 수행합니다.

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

또는 xsltFile 출력의 XSLT를 사용하여 XML 값에서 XSLT 변환을 수행하려면 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);

또는 XML 값에서 XPath 식을 평가하려면 다음을 수행합니다.

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);

XML 값을 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);

newTransformer()를 호출하여 지정된 ID 변환을 사용하여 모든 원본을 Result로 변환할 수 있습니다.

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);

원본의 내용을 표준 출력에 쓰려면 다음을 수행합니다.

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

DOMResult에서 DOMSource를 만들려면 다음을 수행합니다.

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

불완전하거나 잘못된 XML 값으로 인해 SQLException이 설정되거나 execute()가 발생할 때 예외가 발생할 수 있습니다. execute()가 발생하거나 SQLException이 throw되기 전에 모든 스트림을 닫아야 합니다.

SQLXML 개체에서 XML 값을 읽고 쓰는 작업은 한 번에 발생할 수 있습니다. 읽기 가능하고 읽을 수 없는 개념 상태는 읽기 API 중 하나가 값을 반환할지 아니면 예외를 throw할지를 결정합니다. 쓰기 가능하고 쓰기 가능하지 않은 개념 상태는 쓰기 API 중 하나가 값을 설정하거나 예외를 throw할지 여부를 결정합니다.

free() 또는 읽기 API 중 하나(getBinaryStream(), getCharacterStream(), getSource() 및 getString()이 호출되면 상태가 읽기 가능에서 읽을 수 없음으로 이동합니다. 구현이 발생할 때 상태를 쓰기 불가능으로 변경할 수도 있습니다.

free() 또는 setBinaryStream(), setCharacterStream(), setResult() 및 setString()이라는 쓰기 API가 호출되면 상태는 쓰기 가능에서 쓰기 불가능으로 이동합니다. 구현이 발생할 때 상태를 읽을 수 없도록 변경할 수도 있습니다.

JDBC 드라이버가 데이터 형식을 SQLXML 지원하는 경우 인터페이스의 모든 메서드를 완전히 구현해야 합니다.

1.6에 추가되었습니다.

에 대한 Java 설명서입니다 java.sql.SQLXML.

이 페이지의 일부는 만들고 공유하며 에 설명된 조건에 따라 사용되는 작업을 기반으로 수정됩니다.

속성

BinaryStream

이 SQL XML 개체에서 이진 데이터를 읽는 데 사용할 수 있는 스트림을 반환합니다.

CharacterStream

이 SQL XML 개체에서 문자 데이터를 읽는 데 사용할 수 있는 판독기를 반환합니다.

Handle

기본 Android 개체의 JNI 값을 가져옵니다.

(다음에서 상속됨 IJavaObject)
JniIdentityHashCode

래핑된 instance 값을 반환 java.lang.System.identityHashCode() 합니다.

(다음에서 상속됨 IJavaPeerable)
JniManagedPeerState

관리되는 피어의 상태입니다.

(다음에서 상속됨 IJavaPeerable)
JniPeerMembers

멤버 액세스 및 호출 지원.

(다음에서 상속됨 IJavaPeerable)
PeerReference

JniObjectReference 래핑된 Java 개체 instance 의 를 반환합니다.

(다음에서 상속됨 IJavaPeerable)
String

이 개체의 데이터를 XML 문자열로 반환합니다.

메서드

Disposed()

instance 삭제될 때 호출됩니다.

(다음에서 상속됨 IJavaPeerable)
DisposeUnlessReferenced()

이 instance 대한 미해결 참조가 없으면 를 호출Dispose()합니다. 그렇지 않으면 아무 작업도 수행하지 않습니다.

(다음에서 상속됨 IJavaPeerable)
Finalized()

instance 완료될 때 호출됩니다.

(다음에서 상속됨 IJavaPeerable)
Free()

이 메서드는 이 개체를 닫고 보유한 리소스를 해제합니다.

GetSource(Class)

이 SQLXML instance 지정된 XML 값을 읽기 위한 원본을 반환합니다.

SetBinaryStream()

이 SQLXML instance 나타내는 XML 값을 작성하는 데 사용할 수 있는 스트림을 검색합니다.

SetCharacterStream()

이 SQLXML instance 나타내는 XML 값을 작성하는 데 사용할 스트림을 검색합니다.

SetJniIdentityHashCode(Int32)

에서 반환 JniIdentityHashCode된 값을 설정합니다.

(다음에서 상속됨 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

SQL XML 형식에 대한 JavaTM 프로그래밍 언어의 매핑입니다.

(다음에서 상속됨 IJavaPeerable)
SetPeerReference(JniObjectReference)

에서 반환 PeerReference된 값을 설정합니다.

(다음에서 상속됨 IJavaPeerable)
SetResult(Class)

이 SQLXML instance 지정된 XML 값을 설정하기 위한 Result를 반환합니다.

UnregisterFromRuntime()

런타임이 이후 Java.Interop.JniRuntime+JniValueManager.PeekValue 호출에서 반환되지 않도록 이 instance 등록을 취소합니다.

(다음에서 상속됨 IJavaPeerable)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

SQL XML 형식에 대한 JavaTM 프로그래밍 언어의 매핑입니다.

GetJniTypeName(IJavaPeerable)

SQL XML 형식에 대한 JavaTM 프로그래밍 언어의 매핑입니다.

적용 대상