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. HDU 2444 The Accomodation of Students(判断是否可图 + 二分图)

    题目大意:有一群人他们有一些关系,比如A认识B, B认识C, 但是这并不意味值A和C认识.现在给你所有互相认识的学生,你的任务是把所有的学生分成两个一组, 住在一个双人房里.相互认识的同学可以住在一个 ...

  2. 【转】显示Ubuntu文件浏览器的地址栏--不错

    原文网址:http://www.blogbus.com/anythingok-logs/144447448.html Ubuntu默认使用nautilus作为其可视化的文件浏览器,其默认值不显示地址栏 ...

  3. SQL 2008 如何配置远程连接

    初次接触sql2008 相比05 改观还是挺大的 在配置方面 如何打开"远程连接" 成了最棘手的   到网上找了大半天资料    依然云里雾里 参考网上的众多资料 结合本人的实际经 ...

  4. oracle触发器使用总结

    1.说明 1)触发器是一种特殊的存储过程,触发器一般由事件触发并且不能接受参数,存储器由语句块去调用 2)触发器分类: 1.DML触发器: 创建在表上,由DML事件引发 2.instead of触发器 ...

  5. Hot to get clicked cell column in DevExpress XtraGrid

    To accomplish this task, use the GridView.RowCellClickevent. Please note that this event will not fi ...

  6. 什么是券商PB业务

    PB业务(Prime Broker,主经纪商业务).所谓PB业务就是指向对冲基金等高端机构客户提供集中托管清算.后台运营.研究支持.杠杆融资.证券拆借.资金募集等一站式综合金融服务的统称.而该业务的基 ...

  7. SKKeyframeSequence类

    继承自 NSObject 符合 NSCodingNSCopyingNSObject 框架  /System/Library/Frameworks/SpriteKit.framework 可用性 可用于 ...

  8. UVa 340 Master-Mind Hints (优化查找&复制数组)

    340 - Master-Mind Hints Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_on ...

  9. Android 自定义View (二) 进阶

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24300125 继续自定义View之旅,前面已经介绍过一个自定义View的基础的例 ...

  10. Android学习–Android app 语言切换功能

    功能: app用户根据自己的语言喜好,设置app语言.语言设置只针对本app,并在下次启动应用时保留前一次启动设置. 更新语言: public static void changeAppLanguag ...