Xmlparsing is different in 11g from 10g (文档 ID 1515401.1)
Applies to:
Oracle Database - Enterprise Edition - Version 11.2.0.1 and later
Information in this document applies to any platform.
Symptoms
While reading content from xml using xmlparser / xmldom which has been working fine in Oracle 10.2.0.4, once upgraded to Oracle 11.2.0.1, using the same code and xml file, it will return incorrect content from xml.
Example: For example parsing an xml file we observed that some lines are trimmed to the next line like below:
10g output: field_desc = [BEGIN]This is a sample text which gets trimmed/truncated to next line.This is a sample text which gets trimmed/truncated to next line.[END]
11g output: field_desc = [BEGIN]This is a sample text which gets trimmed/truncated to next line.This
is a sample text which gets trimmed/truncated to next line.[END]
Changes
Upgrade from 10g to 11gR2.
Cause
In 10g the xquery engine is Java based whereas in 11g, the xquery engine is C based XVM.
Solution
We can revert to using 10g parser by setting the below event:
alter system set event ="31156 trace name context forever, level 0x400" scope=spfile;
Note: The instance must be restarted for the events to take effect. This is necessary because we are specifying "scope=spfile".