• Oracle9i之xmltype应用(转)


    http://liangxinf.itpub.net/post/231/58792
    这几天在研究9I下的XMLTYPE数据类型,这在解析和查找生成XML方面都很方便,在网上搜到了一篇入门级的文章,转贴下来^_^

    [文章摘要]介绍了oracle9i的xmltype数据类型的基本使用
    包括:建立含有xmltype数据类型的表
    插入(insert)数据
    查询(select)数据
    更新(update)数据
    添加超过4k字节的xml文档到xmltype型字段
    适合初学者。


    关键词: oracle9i xmltype


    oracle从9i开始支持一种新的数据类型---- xmltype,用于存储和管理xml数据,并提供了很多的functions,用来直接读取xml文档和管理节点。下面将介绍xmltype的一些基本使用。

    1.建立含有xmltype数据类型的表
    create table abc (id number,xmldoc sys.xmltype);
    声明xmltype型字段用:sys.xmltype

    2.向带有xmltype类型的表插入带有数据
    insert into abc (id,xmldoc) value (abc.nextval , sys.xmlType.createXML('<name><a id="1" value="some values">abc</a></name>') );
    插入用 sys.xmlType.createXML('some xml doc')

    3.直接查询xmltype字段里面的内容
    得到id=1的value变脸的值
    select i.xmldoc.extract('//name/a[@id=1]/@value').getStringVal() as ennames, id from abc i;
    得到a节点的值
    select id, i.xmldoc.extract('//name/a/text()').getStringVal() as truename from abc i";

    4.更新xmltype里面的数据
    update abc set xmldoc=updateXML(xmldoc,'//name/a[@id=1]/@value','some new value') where ......
    (注意:如果里面没有<a id="1">这个节点,将不能update)

    5.添加超过4k字节的xml文档到xmltype型字段
    可以通过使用临时表的办法实现:
    先建立一个临时的表,其中的一个字段是clob类型;
    再将要写入xmltype字段的xml doc写入这个临时的clob型的字段中;
    最后insert into abc (id,xmldoc) values (abc_q.nextval , sys.xmlType.createXML((select content from 临时表 where id=......)));

    后记:
    oracle9i对xml提供了强大的支持,这篇文章旨在抛砖引玉,希望给大家一些借鉴。也希望感兴趣的朋友和我交流。

  • 相关阅读:
    [資料]VS2008技巧
    [資料]MarshalAs的用法
    MS SQL Server 2000安装不成功的原因
    Zend產品線
    [轉]Flex 开发必备10武器
    [轉]C#中的XML注释
    [轉]onpropertychange事件
    [轉]fckeditor添加自定义按钮
    [資源]Web設計資源以及线框工具
    [轉]JS中showModalDialog 详细使用
  • 原文地址:https://www.cnblogs.com/songsh96/p/605501.html
Copyright © 2020-2023  润新知