使用Oracle XMLTYPE读取XML:LPX-00210:期望'''而不是'\'

时间:2016-04-05 13:25:25

标签: xml plsql oracle11g

我正在尝试使用XMLTYPE在ORACLE中读取XML。

使用下面的xml时,我得到了msg LPX-00210:expect'“'而不是'\'

<?xml version=\"1.0\" encoding=\"utf-16\"?>
<arrayofaccesstoken xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">
<accesstoken>
<id>0</id>
<controller>fs</controller>
<view>fview</view>
<role>1000</role>
<rights>30</rights>
</accesstoken>

当第一条牵引线

时,代码完美无缺
<?xml version=\"1.0\" encoding=\"utf-16\"?>
<arrayofaccesstoken xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">

被省略。

1 个答案:

答案 0 :(得分:2)

你不必在oracle字符串中转义双引号,因为oracle中的所有字符串都用单引号括起来。

此XML应该可以正常工作。

<?xml version="1.0" encoding="utf-16"?>
<arrayofaccesstoken xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <accesstoken>
        <id>0</id>
        <controller>fs</controller>
        <view>fview</view>
        <role>1000</role>
        <rights>30</rights>
    </accesstoken>
</arrayofaccesstoken>

我修复的其他事情 -

  1. 最后没有结算令牌。
  2. 关闭xmlns:xsi和xmlns:xsd之前的双引号后需要有空格。