待解析的XML
<?xml version="1.0"?>
<PEOPLE>
    <PERSON PERSONID="E01">
        <NAME>Tony Blair</NAME>
        <ADDRESS>10 Downing Street, London, UK</ADDRESS>
    </PERSON>
</PEOPLE>存储过程如下
BEGIN 
  --设置服务器端文件存放路径
  --v_FileDir := 'UTL_FILE_DIR';  xmlPar     := xmlparser.newParser;
 
 xmlparser.setErrorLog(xmlPar,  'C:\datafile\xmllog.txt');
  xmlparser.parse(xmlPar, 'C:\datafile\person.xml');
  doc := xmlparser.getDocument(xmlPar);
  --释放解析器
  xmlparser.freeParser(xmlPar);
  --取得根目录
  rootNodes := xmldom.getElementsByTagName(doc, 'PERSON');
  len       := xmldom.getLength(rootNodes);
  --遍历根节点
  for i in 0 .. len - 1 loop
    tempNode   := xmldom.item(rootNodes, i);
    tempArrMap := xmldom.getAttributes(tempNode);
    pid        := xmldom.getNodeValue(xmldom.getNamedItem(tempArrMap,
                                                          'PERSON'));
    chilNodes  := xmldom.getChildNodes(tempNode);
    tmp        := xmldom.getLength(chilNodes);
    name       := xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item(chilNodes,0)));
    address    := xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item(chilNodes,1)));
    INSERT INTO PEOPLE VALUES (pid, name, address);
  end loop;
  commit;
  --释放文档对象
  xmldom.freeDocument(doc);
  PReturnCode := 'S';
调试到这里时  xmlparser.setErrorLog(xmlPar,  'C:\datafile\xmllog.txt');
ORA-31020: The operation is not allowed, Reason: Not supported
注释上一句,执行这句时 xmlparser.parse(xmlPar, 'C:\datafile\person.xml');
又报ORA-29280: invalid directory path
到底哪里错误了,是路径设置错了,应该怎么写啊,还是需要哪里设置一下
哪个好心的大哥帮忙解决、解决下

解决方案 »

  1.   

    管理文件夹?你说的是Directories嘛?
    要把C:\datafile添加进管理文件夹?
    CREATE DIRECTORY XmlDir AS 'C:\datafile';
    GRANT WRITE , READ ON DIRECTORY XmlDir TO TEST;
    添加权限write和read权限?
      

  2.   

    恩,就是你说的--v_FileDir := 'UTL_FILE_DIR';这句你怎么给注释掉了呢?有用的
      

  3.   

    用Directories的话.
    我应该怎么改呢?
    v_FileDir := 'UTL_FILE_DIR'; 
    xmlparser.setErrorLog(xmlPar,  v_FileDir||'\xmllog.txt'); 
    这样改嘛?
    好像用起来还是有问题:-(
      

  4.   

    你是参照这篇文章做的吗?
    http://www.oracle-base.com/articles/8i/ParseXMLDocuments8i.php
      

  5.   

    你再参考以下这篇文章
    http://www.blogjava.net/botson/category/30204.html/rss
      

  6.   

    我就是看的http://www.blogjava.net/botson/category/30204.html/rss(http://www.blogjava.net/botson/archive/2008/03/19/187360.html)这个
    里面的问题也是我提的,就是那个路径