php100:89:xml常识知识补充

xml常识知识补充
XML(即可扩展标记语言,它与HTML一样,都是标准通用标
记语言。Xml是Internet环境中跨平台的,依赖于内容的技术。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
XML与HTML的设计区别是:XML是用来存储数据的,重在数据本身。HTML是用来定义数据的,重在数据的显示模式 .

① XML扩展性比HTML强: 它可以重新定义内置标签。
② XML的语法比HTML严格
  1、起始和结束的标签相匹配
  2、嵌套标签不能相互嵌套
  3、区分大小写
常应用于:RSS 、XML聚合、XML数据库、XML接口等
③ XML与HTML互补
Rss是通过xml继承或者延伸过来的。

<?xml version="1.0" encoding=“utf-8“?>
<php100>
<title> 存储的内容 </title>
</php100>
***************************************
什么是DOM 什么是PHPdom xml解析
DOM 提供了针对 HTML和文档的标准对象集,以及用于访问和操作这些文档的标准接口。
内置功能。不需要安装其他软件。
DOM树节点遵循xml命名规范。
1、Document节点 -- 表示DOMDocument接口
2、Element节点 -- 表示DOMElement接口
3、Attribute节点 -- 表示DOMAttr接口
4、Comment节点 -- 表示DOMComment接口
5、Text节点 -- 表示DOMText接口
***************************************
使用php dom 读取xml
book.xml
<?xml version="1.0" encoding="utf-8"?>
<bookstore>
<book>
<title>PHP100中文网</title>
</book>
</bookstore>

index.php
$doc = new DOMDocument();
$doc->load('book.xml');
$books = $doc->getElementsByTagName( "book" );
$title = $doc->getElementsByTagName( “title" );
Echo $title ->item(0)->nodeValue;  
============================================================================
php100:90:DOM创建生成xml文件

xml标签属性内容介绍
<?xml ?> version是声明版本,encoding 是声明编码
<index id="1"> id是标签属性,1是属性内容。
xml是树形结构。

DOM 生成xml方法介绍
$doc = new DOMDocument(‘1.0’, ‘utf-8’); // 声明版本和编码
$doc -> formatOutput = true; //格式XML输出

$root = $doc -> createElement('root'); //创建一个标签
$index = $doc -> createElement('index'); //创建一个标签
$id = $doc -> createAttribute(‘id’); //创建一个属性
$newsid = $doc -> createTextNode("1"); //设置属性内容
$newsco = $doc -> createTextNode("content"); //设置标签内容
$id -> appendChild($newsid); //继承属性
$index -> appendChild($id); //继承属性内容
$index -> appendChild($newsco); //继承标签内容
$root -> appendChild($index); //继承子类
$doc -> appendChild($root);
$doc -> save(“php100.xml”); // 生成保存为XML
==========================================================================
php100:91:xml修改和删除xml内容和方法

修改:打开文件--》遍历内容--》重新赋值--》保存文件
标签的目的:因为xml文件中很多重名的标签,为了可以精确的进行对标签的操作和定位。
删除:首先确定到根标签,使用removeChild方法找到指定id执行删除操作,这里的删除是指完完整整的删除。
xiugai.php
<?php
$doc=new DOMDocument();
$doc->load("book.xml");
$book=$doc->getElmentByTagName("book");
foreach($book as $note){
if($note->getAttribute('id')==3){
echo $note->getAttribute('id')."--";
echo $node->getElmentByTagName("title")->item(0)->nodeValue='33333';
echo "<br/>";
}
}
$doc -> save(“php100.xml”);
?>
======================================
delete.php
<?php
$doc=new DOMDocument();
$doc->load("book.xml");
$root=$doc->documentElment;
$book=$doc->getElmentByTagName("book");
foreach($book as $note){
if($note->getAttribute('id')==3){
echo $note->getAttribute('id')."--";
echo $node->getElmentByTagName("title")->item(0)->nodeValue='33333';
echo "<br/>";
}
if($note->getAttribute('id')==4){
$root->removeChild($note);
}
}
$doc -> save(“php100.xml”);
?>

=================

create.php

<?php
$doc=new DOMDocument('1.0','utf-8');
$doc->formatOutput=true;

$a= $doc -> createElement('a');
$b= $doc -> createElement('b');
$c= $doc -> createElement('c');
$newsco = $doc -> createTextNode("heihei");
$c -> appendChild($newsco);
$a -> appendChild($b);
$b -> appendChild($c);
$doc -> save(“php100.xml”);

?>

==================

duqu

$doc=new DOMDocument();
$doc->load("book.xml");
$book=$doc->getElmentByTagName("book");
foreach($book as $note){
echo $node->nodeValue;
echo "<br/>";
}

xml配置与使用的更多相关文章

  1. Mybatis XML配置

    Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...

  2. SpringMvc的xml配置与annotation配置的例子的区别

    1.导入jar包时,要在xml配置基础上加 spring-aop-4.2.2.RELEASE.jar (注解的时候需要) 2.编写controller的时候要annotation需要做相关配置即红色部 ...

  3. Hibernate实现有两种配置,xml配置与注释配置

    hibernate实现有两种配置,xml配置与注释配置. (1):xml配置:hibernate.cfg.xml (放到src目录下)和实体配置类:xxx.hbm.xml(与实体为同一目录中) < ...

  4. java web.xml配置详解

    1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...

  5. 关于xml配置实现AOP的小知识

    除了前面介绍的基于JDK1.5的注解方式来定义切面,切入点和增强处理外,Spring AOP也允许直接使用XML配置文件来管理它们.在JDK1.5之前,只能使用配置文件的方式来管理,在Spring2. ...

  6. Ninject之旅之五:Ninject XML配置

    摘要 使用XML配置,需要添加Ninject XML扩展的引用.下一步是添加一个或多个包含类型注册的XML文件.记得这些文件应该跟应用程序一起发布.因此不要忘记将XML文件的属性设置成“Copy if ...

  7. hibernate实现有两种配置,xml配置与注释配置。

    (1):xml配置:hibernate.cfg.xml (放到src目录下)和实体配置类:xxx.hbm.xml(与实体为同一目录中) <?xml version='1.0' encoding= ...

  8. 2015年12月10日 spring初级知识讲解(二)最小化Spring XML配置 注解

    序,随着Spring容器管理Bean数量增加,XML文件会越来越大,而且纯手工配置XML很繁琐,Spring和JAVA都提供了一些注解方式用以简化XML配置. 目录 一.自动装配(autowiring ...

  9. springMVC配置(XML配置详解)

    原文出自:http://www.newasp.net/tech/71609.html web.xml配置: servlet> <servlet-name>dispatcher< ...

  10. Spring MVC的web.xml配置详解(转)

    出处http://blog.csdn.net/u010796790 1.spring 框架解决字符串编码问题:过滤器 CharacterEncodingFilter(filter-name) 2.在w ...

随机推荐

  1. GFF 和 OGS 这两种触摸屏谁更好?

    我将从成本分析.制程分析.用户体验三个方面来回答楼主的问题.GFF的触摸屏从字面上翻译过来,就是一层玻璃cover,两层film构成的触摸屏.其中,玻璃cover作为整个手机的coverlens,从外 ...

  2. Xen、KVM和VirtualBox比拼

    vbox 与 kvm 的区别: vbox 是由 qemu 改写而成,包含大量 qemu 代码.可以使用于 不支持 虚拟化的cpu.值得说的一点:vbox 在图形方面比较好,能进行2D 3D加速.cpu ...

  3. #define中 #与##的神奇用法linux学习 (转)

    #define中 #与##的神奇用法linux学习 (转) #define f(a,b) a##b #define d(a) #a #define s(a) d(a) void main( void ...

  4. awk工具

    简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...

  5. DOL版USB Loader的下载和运行

    下载 在Wii上面玩硬盘版游戏,自然少不了USB Loader,相关教程和下载资源在网上一搜就有. 我在官网(地址:http://gwht.wikidot.com/usb-loader)上找到了一个下 ...

  6. shell中$0,$?,$!等的特殊用法【转载】

    本文转载自:http://blog.sina.com.cn/s/blog_464f6dba0100psy9.html ----------------------------------------- ...

  7. Java WeakHashMap 源码解析

    前面把基于特定数据结构的Map介绍完了,它们分别利用了相应数据结构的特点来实现特殊的目的,像HashMap利用哈希表的快速插入.查找实现O(1)的增删改查,TreeMap则利用了红黑树来保证key的有 ...

  8. Controlling How NSThread and NSRunLoop Exit

    http://shaheengandhi.com/controlling-thread-exit/ While most concurrency can be dealt with by using ...

  9. WORLD OPERATS

        word文章设置无法复制 通常我们会采用设置密码的方式,规定某个文档的使用范围. 但这种方法是有一个局限,那就是可以观看文档的人未必靠谱,万一复制了文档的重要内容怎么办? 因此,不妨考虑加上禁 ...

  10. curl_setopt函数相关应用及介绍(转)

    一.要想使用curl_setopt 这个函数必须在服务器里边进行编译curl这个组件,怎么安装编译这个组件请具体到google搜索 二.curl_setopt的php帮助文档的解释 bool curl ...