下述查询在10G可以执行,但在9I不能执行,各位大侠指点一下
select * from  XMLTABLE('/Recordset/DataRows/row'
      PASSING 
      Xmltype('<?xml version="1.0" encoding="gbk" ?>
      <Recordset>
      <Fields>
        <Field name="ID" dt="Varchar" size="50" />
        <Field name="姓名" dt="Varchar" size="50" />
        <Field name="年龄" dt="Varchar" size="50" />
        <Field name="语文" dt="Varchar" size="50" />
        <Field name="数学" dt="Varchar" size="50" />
        <Field name="英语" dt="Varchar" size="50" />
        <Field name="化学" dt="Varchar" size="50" />
      </Fields>
      <DataRows>
        <row>
          <ID value="1" />
          <姓名 value="测试" />
          <年龄 value="111" />
          <语文 value="88" />
          <数学 value="99" />
          <英语 value="78" />
          <化学 value="78" />
          </row>
        <row>
          <ID value="2" />
          <姓名 value="测试2" />
          <年龄 value="222" />
          <语文 value="34" />
          <数学 value="23" />
          <英语 value="13" />
          <化学 value="34" />
        </row>
        <row>
          <ID value="3" />
          <姓名 value="测试3" />
          <年龄 value="333" />
          <语文 value="43" />
          <数学 value="32" />
          <英语 value="323" />
          <化学 value="34" />
        </row>
      </DataRows>
      </Recordset>')
      COLUMNS 
         "id" varchar2(50) PATH 'ID/@value',
         "姓名" varchar2(50) PATH '姓名/@value',
         "年龄" varchar2(50) PATH '年龄/@value',
         "语文" varchar2(50) PATH '语文/@value',
         "数学" varchar2(50) PATH '数学/@value',
         "英语" varchar2(50) PATH '英语/@value',
         "化学" varchar2(50) PATH '化学/@value'         
    ) ;