programing

PL/SQL에서 텍스트를 XML 호환 텍스트로 변환/인코딩하는 방법이 있습니까?

oldcodes 2023. 10. 21. 10:49
반응형

PL/SQL에서 텍스트를 XML 호환 텍스트로 변환/인코딩하는 방법이 있습니까?

텍스트 템플릿을 업데이트하여 Excel 스프레드시트를 구성하고 있기 때문에 PL/SQL 메서드에서 XML 호환 텍스트로 변환해야 하는 동료가 있습니다.

PL/SQL에서 텍스트를 XML 호환 텍스트로 변환/인코딩하는 방법이 있습니까?

XML 문자를 변환하려면 다음과 같은 작업을 수행해야 합니다.

  outgoing_text := DBMS_XMLGEN.CONVERT(incoming_text)

어디에outgoing_text그리고.incoming_text둘 다 VARCHAR2 또는 CLOB입니다.

두 번째 인수를 지정할 수 있지만 기본값은 다음과 같습니다.DBMS_XMLGEN.ENTITY_ENCODE... 이것은 또한 XML 엔티티를 통과시켜 해독할 수 있습니다.DBMS_XMLGEN.ENTITY_DECODE재론으로서

이후 버전의 오라클에는 XML 데이터를 조작하기 위한 XML 패키지가 내장되어 있습니다.
예를 들어, 다음과 같은 작업을 동료가 원하는 것입니까?

SELECT DBMS_XMLGEN.getXML('SELECT * FROM emp') FROM dual;

dbms_xmlgen 외에도 sql 메서드, xmlelement를 사용한 다음 값을 다시 추출할 수 있습니다.

select extract(xmlelement("mytest",my_variable),'mytest/text()') from dual;

xmlelement 함수는 텍스트 XML을 준수하도록 만든 다음 extract 함수를 사용하여 텍스트를 그대로 추출합니다. (참고:extractValue 함수는 텍스트를 비XML 호환 버전으로 다시 변환합니다.)

hamischmcn 옵션은 쉽고 명확하지만 오라클 형태로는 작동하지 않습니다. 그것을 사용해서 많이 시도했지만 아무것도 하지 않았습니다.이와 같은 것을 사용하여 xml을 수동으로 생성할 수 있습니다.

utl_file.put_line_nchar (file_id, 'xml version="1.0" 인코딩="utf-8");

utl_file.put_line_nchar (file_id, '시작');

­ 태그를 정의하는 루프를 위한 독자

utl_file.put_line_nchar (file_id, '/Start');

참고: Editor에서는 xml 및 태그 제목에 < > 기호를 넣을 수 없습니다.

Oracle Forms에 대한 Rulas의 문제와 관련하여, 데이터베이스 패키지를 사용해야 하는 Forms에서 할 수 없는 많은 일들이 있습니다.

따라서 dbms_xmlgen을 수행하는 데이터베이스 PL/SQL 함수를 작성하고 XML 크기에 따라 varchar2 또는 clob을 반환합니다. 그런 다음 Forms에서 해당 함수를 호출할 수 있습니다.데이터를 양식으로 다시 가져오면 text_io 또는 webutil을 사용하여 XML 파일을 Excel로 푸시합니다.

또는 데이터베이스 쪽에 머물러서 utl_file을 사용하여 XML 출력을 얻을 수 있는 디렉토리로 푸시할 수 있습니다.

언급URL : https://stackoverflow.com/questions/461970/is-there-a-method-in-pl-sql-to-convert-encode-text-to-xml-compliant-text

반응형