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. vmware压缩磁盘空间的方法

    家里笔记本40G,可用空间怎么挤都只剩7G,从单位copy回来的linux虚拟机要10G,经检查实际使用空间5.7,也就是其他都是空余空间,可以释放掉.(只适合independent.Persiste ...

  2. 【转】android 中如何限制 EditText 最大输入字符数

    原文网址:http://blog.csdn.net/fulinwsuafcie/article/details/7437768 方法一: 在 xml 文件中设置文本编辑框属性作字符数限制 如:andr ...

  3. 在Excel中将数字设置成文本格式的技巧

    在Excel中将数字设置成文本格式的技巧 一个简单的方法,利用[数据]菜单的[分列]功能来将数字设置为文本格式.具体操作步骤为: 1.选中所有需要处理的数字单元格. 2.选择[数据]菜单[分列]功能. ...

  4. 【数学】HDU 5753 Permutation Bo

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5753 题目大意: 两个序列h和c,h为1~n的乱序.h[0]=h[n+1]=0,[A]表示A为真则为 ...

  5. jQuery Builder

    简介 作用:customize jQuery,可以仅包含自己想要的模块 jQuery Builder lets you easily build a custom version of jQuery ...

  6. 【用PS3手柄在安卓设备上玩游戏系列】连接手柄和设备

    背景 硬件要求1:PS3 手柄 + 手柄配套的USB线 硬件要求2:已经获得 ROOT 权限并且支持蓝牙的安卓设备 软件要求1:Sixaxis Compatibility Checker PS3 手柄 ...

  7. Selenium webdriver 查找元素

    1.简单查找 By ID: WebElement element=driver.findElement(By.id("userId")); By Name:WebElement e ...

  8. RHEL6配置IP

    修改配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0BOOTPROTO=noneBROADCAST=192.168.10.255HW ...

  9. Object -C NSNumber -- 笔记

    // //  main.m //  NSNumber // //  Created by facial on 24/8/15. //  Copyright (c) 2015 facial_huo. A ...

  10. Android ImageView 点击更换头像

    首先搭建布局 主界面布局: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" ...