XML学习笔记---Xpath

来源:互联网 发布:java环境 编辑:程序博客网 时间:2024/04/28 18:52

学习计划:

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,编程实现外,还有:

  1. 通过ftp方式,服务端开启ftp service
  2. 通过http协议方式,服务器开启http service
  3. 用oracle的advanced stream 交换实现

repository的作用

  1. versioning
  2. ACL security
  3. 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

原创粉丝点击