「完璧な」クエリを検索すると、原因が失われる可能性があります。ブラウザ(他の場所で推奨されているテキストブラウザを含む)は、すべてのねじれやエッジケースの解決に何年も費やしてきました。
本当に外部リソースを使用できない場合は、dbms_xmldom
を介してDOMをウォークすることができます。 パッケージ。これは、匿名ブロックとサンプル値を使用したデモで、画面に出力されます(有効にしている場合)。ただし、CLOBを返す関数、または最終結果として必要なものに簡単に適合させることができます。
set serveroutput on
set define off
declare
l_element xmldom.domelement;
l_document xmldom.domdocument;
l_text clob;
procedure print_node (p_node xmldom.domnode) is
l_nodes dbms_xmldom.domnodelist;
begin
-- print out any plain text
if dbms_xmldom.getnodetype(p_node) = 3
and dbms_xmldom.getnodename(p_node) = '#text' then
dbms_output.put_line(dbms_xmldom.getnodevalue(p_node));
end if;
-- just to match your expected output, add a blank line for p tags
if dbms_xmldom.getnodetype(p_node) = 1
and dbms_xmldom.getnodename(p_node) = 'p' then
dbms_output.new_line;
end if;
-- get any child nodes
l_nodes := dbms_xmldom.getchildnodes(p_node);
-- process each node in turn, recursively
for i in 0..dbms_xmldom.getlength(l_nodes) - 1 loop
print_node(dbms_xmldom.item(l_nodes, i));
end loop;
end print_node;
begin
l_text := '<p>NAME: XXX<br />Company Name: YYYYY<br />Location: ZZZ, 22 Z1Z1Z1, Z2Z2Z2,Z3Z3Z3, 0000024, IND<br />Type: PrePA<br />Team: Team1, Dues tamble <br />Date: January 25 – 26, 2016<br />Rating: Tr 2<br />Number: 8554342</p>
<p><u>Observ: <br /></u>There were (6) major and (2) minor .<br /> <br />MAJOR</p><ul> <li>Sample Text_1.</li> <li>Sample Text_2.</li>
<li>Sample Text_33.</li> <li>Sample Text_4.</li> <li>Sample Text_5.</li></ul><p>MINOR</p><ul> <li>Sample Text_7</li>
<li>Sample Text_8<br /> </li></ul><p><b> Background</b><br /> </p>';
-- wrap the fragment in a root node so it parses, and run through
-- utl_i18n.unescape_reference to get rid of etc.
l_document := dbms_xmldom.newdomdocument('<html>'
|| utl_i18n.unescape_reference(l_text) || '</html>');
-- get the root element (which is now the added html)
l_element := dbms_xmldom.getdocumentelement(l_document);
-- call the recursive procedure to process this node
print_node(dbms_xmldom.makenode(l_element));
end;
/
生成するもの:
NAME: XXX
Company Name: YYYYY
Location: ZZZ, 22 Z1Z1Z1, Z2Z2Z2,Z3Z3Z3, 0000024, IND
Type: PrePA
Team: Team1, Dues tamble
Date: January 25 – 26, 2016
Rating: Tr 2
Number: 8554342
Observ:
There were (6) major and (2) minor .
MAJOR
Sample Text_1.
Sample Text_2.
Sample Text_33.
Sample Text_4.
Sample Text_5.
MINOR
Sample Text_7
Sample Text_8
Background