学习计划:
1.Xpath的入门教程当然是w3c shool的啦 http://www.w3school.com.cn/xpath/
2.觉得Xpath学习枯燥的,我建议使用火狐的autopager工具,它是一个Xpath的应用,用来解析网页锚点和URL,实现自动翻页的功能,我们可以自定义Xpath规则
3.学习完Xpath就可以尝试oracle XMLDB,用Xpath来进行Xquery,按理这也算是pl/sql的一部分吧,加油吧!
看下 select occupant_name from V$SYSAUX_OCCUPANTS; 有没有安装XDB,安装好XDB的话最好安装demo,demo在官方的网站下,在10.2.4之前的版本最好就安装xfile.5就好了。官方上XMLDB的架构图
获取oracleXML的主要几种方式稍微有些不同,除了package,编程实现外,还有:
- 通过ftp方式,服务端开启ftp service
- 通过http协议方式,服务器开启http service
- 用oracle的advanced stream 交换实现
repository的作用
- versioning
- ACL security
- foldering
其中要说的这个foldering就是树的目录结构,oracle以目录的形式,这样像windows explorer等就可以直接访问
存储方式,xmltype数据就是以clob方式存储,native storage我的理解是xml可以存放在数据库外的本地文件系统,而库里放的是指向文件系统上文件的指针
create table t(id int,xmldoc xmltype);
insert into t values(1,"<Root><Banner>Hello World</Banner></Root>");
update t set xmldoc=updateXML(xmldoc,'/Root/Banner/test()','Hello World2');
oracle 里提供了学习的demo,官方的只提供windows 版的,下载只要安装xfile.5和 INTRODUCTION_11.2.0.3.0.zip但里面安装文件有点问题,需要手动修改
官方地址:http://www.oracle.com/technetwork/indexes/samplecode/xmldb-sample-523617.html
1.创建xfiles用户,简单的赋权,要连接xfiles,以后还需要几个role
create user xfiles identified by xfiles;
grant connect,resource to xfiles;
2.修改监听文件,我的监听文件为例:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = WIN-20131014PGO)(PORT = 1521))
)
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=WIN-20131014PGO)(PORT=80))
(PROTOCOL_STACK=
(PRESENTATION=HTTP)(SESSION=RAW))
)
)
3.配置HTTP和FTP端口,注意到system用户下
sqlplus system/oracle@HUA as sysdba
exec dbms_xdb.sethttpport(80);
exec dbms_xdb.setftpport(21);
4.检查下监听状态,确认service和端口
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WIN-20131014PGO)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WIN-20131014PGO)(PORT=80))(PROTOCOL_STACK=(PRESENTATION=HTTP)(SESSION=RAW)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WIN-20131014PGO)(PORT=21))(Presentation=FTP)(Session=RAW))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "HUA" has 2 instance(s).
Instance "HUA", status UNKNOWN, has 1 handler(s) for this service...
Instance "hua", status READY, has 1 handler(s) for this service...
Service "HUAXDB" has 1 instance(s).
Instance "hua", status READY, has 1 handler(s) for this service...
The command completed successfully
可以通过浏览器去访问oracle XDB 下的 demo,其实xfiles是用sevlet写的一个访问XDB的web容器,许多demo安装都需要xfiles
通过浏览器去访问提示需要XFILES_USER or XFILES_ADMINISTRATOR,就赋权给xfiles
SQL> grant xfiles_user,xfiles_administrator to xfiles;
Grant succeeded.
最后可以根据里面的demo去学习,效果如下
4.开始学习XML在传输方面一些知识,比如web service,soap协议等,然后学习XML转其他格式的,像HTML,json等,当然写个解析工具出来那就更好了!
可以通过javascript把xml转换到json格式
整个博客xml系列:http://blog.csdn.net/cds27/article/category/368209