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. C++编程中对缓冲区的理解(OS默认4096大小的缓冲区,有例子,很形象)

    什么是缓冲区缓冲区又称为缓存,它是内存空间的一部分.也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区.缓冲区根据其对应的是输入设备还是输出 ...

  2. VS2012 利用正则统计项目代码行数

    原文:VS2012 利用正则统计项目代码行数 #开头和/开头或者空行都不计入代码量,  搜索出来以后最后一行就是代码行数了:

  3. Best Time to Buy and Sell Stock——LeetCode

    Say you have an array for which the ith element is the price of a given stock on day i. If you were ...

  4. Linux文件操作学习总结【转载】

    本文转载自: http://blog.csdn.net/xiaoweibeibei/article/details/6556951 文件类型:普通文件(文本文件,二进制文件).目录文件.链接文件.设备 ...

  5. linux系统目录介绍

    目录/文件 用途 来源 / /处于Linux文件系统树形结构的最顶端,它是Linux文件系统的入口,所有的目录.文件.设备都在/之下. - /bin 该目录存放着系统最常用的最重要的命令,相当于DOS ...

  6. Linux动态库的编译与使用

    转载: http://hi.baidu.com/linuxlife/blog/item/0d3e302ae2384d3a5343c1b1.html Linux下的动态库以.so为后缀,我也是初次在Li ...

  7. 鼠标事件之鼠标滑过事件MOUSEOVER

    来源地址:http://www.g2room.com/jquery/index.php?p=example%2Fevent%2Fmouseover.html&n=%E9%BC%A0%E6%A0 ...

  8. where子句的具体含义

    今天同学让我帮他调代码,下面是出错的那句: txtSQL= "select * from student_Info where UserID='" & cboUserID. ...

  9. jQuery实现密保互斥问题

    密保互斥问题: 密保通常都会有n个问题,让用户选择其中2.3个,而且都不会让用户选择重复的问题.这就要求密保互斥. 效果如下: 下面我用了jquery实现密保互斥,用于解决密保,投票等类似互斥问题,可 ...

  10. 与Scheme共舞

    发表在<程序猿>2007年7月刊上.不log上写帖子不用考虑版面限制,所以这里的帖子比发表的啰嗦点.赵健平编辑,Jacky,和刘未鹏都给了我非常多帮助,在这里一并谢了.免费的Scheme实 ...