关于xml学习的一点思考与总结

来源:互联网 发布:网络歌曲串烧联唱 编辑:程序博客网 时间:2024/05/16 02:12

xml可用于服务器的配置,比如密码、用户,比如数据库的连接信息参数,相关程序的参数设置,这样用户在使用的时候,就只需要配置相关的xml文件,即可以对其进行解析。xml也可以当作小型数据库,文本txt、xml都可以当做数据库,只是文本、xml比数据库访问速度更快。而数据库更安全而已。

现在我们主要学习的是对xml结构的一些学习和对xml进行解析。

前面学习了用mini-xml开源库对其进行解析,主要用于c、c++应用程序。这里我们使用了php对其生成及其相应的解析。


php DOM编写学生信息管理,在线英汉词典。

xml文档的要求:

1、必须要有一个根元素。即一个完全包含其他元素的元素。

2、概念: <name first(属性名)=" "(属性值)> liu(元素值) </name(元素、或称标签、节点)>

3、xml注释语法 :<!--    -->,亦可以用css来修饰显示。


在本次php程序中出现了显示乱码问题,主要问题:程序中定义编码方式,php.ini中的编码、和软件入notepad++ 、editplus保存文件时的编码需要一致,推荐为utf-8。同理其他地方出现乱码问题,也可从这三方面考虑。

php技术对xml的增删改查:DOM(document object model)、simplexml、xpath三种技术即可。

DOM技术的核心思想是把一个xml文件看成一个对象模型,然后通过对象的方式来操作xml文件。


name节点元素属性,head这行为元素节点。abc这行为文本节点。

php 查询:

load加载xml文件,形成一个xml树如:$xmldoc=load("index.xml);。$stus=xmldoc->getElementByTagName("学生"),返回标签为学生的元素返回为一个节点列表。

此处可以用var_dump($xmldoc)来查看这个$xmldoc有哪些属性或者方法。$stus返回的是一个节点列表,那么我们便可以用var_dump来查看返回的属性或者方法。


此处我们可以用$stu1=$stus->item(0);取出第一个学生。

然后学生的下面也是一个节点树,这样我们可以取出学生的名字。

$stu1_name=$stu1->getElementByTagName("名字");  

取出名字:echo $stu1_name->item(0)->nodeValue;


对于这里的取值操作。我们可以设计一个函数来简化操作。

读取:


删除节点只需要从其父节点remove即可。非必须要读取根节点。

在修改上述第二个学生下面的介绍元素的时候,必须要getElementByTagName("介绍")->item(0);虽然只有一个介绍,但是仍然需要加item



总结:很多图书馆借来的书本只讲了调用这个函数去这么做,但是并没有讲为什么需要这么做,以及原理是什么。导致书上和网上没有的找不到的例子就不知道怎么去实现。通过韩顺平老师的课程,学会了看函数的手册,主要是看函数拥有的属性和方法,以及返回值所有的属性和方法,这样才能更加灵活的学一会百,知道为什么要这么做。故以后一定要多查手册,很多书讲的很浅显,要在其讲的基础上思考为什么可以这么做!!!!

0 0
原创粉丝点击