首页 > 编程语言 >第四章 PHP创建与解析XML

第四章 PHP创建与解析XML

时间:2023-06-26 22:36:47浏览次数:41  
标签:XML xml sxe echo version PHP root 第四章 name


demo1.php

<?php
	$_a = 5;
	//单引号
	$_string1 = 'This is $_a a String!';
	//双引号
	$_string2 = "This is $_a a String!";
//	echo $_string1;
//	echo $_string2;
	//复杂式,多行,特殊字符,单引号,双引号,变量。
	//<<<<aaaa表示字符串开始  aaaa;不是字符串的结束
	$_string3 = <<<_string3
	<sdfsd>
	sdfs'dfsdf
	sdfsd"
	sdf
	sdfsdfsdfsdf
	$_a
_string3;
	echo $_string3;
?>

 

demo2.php

<?php
	//生成一个xml文件
	//xml字符串
	$_xml = <<<_xml
<?xml version="1.0" encoding="utf-8"?>
<root>
	<version>1.0</version>
	<info>xml解析测试</info>
	<user>
		<name>吴者然</name>
		<url>http://www.onestopweb.cn</url>
		<author sex="男">小吴者然</author>
	</user>	
	<user>
		<name>吴者然1</name>
		<url>http://www.onestopweb.cn</url>
		<author sex="男">小吴者然</author>
	</user>	
	<user>
		<name>吴者然2</name>
		<url>http://www.onestopweb.cn</url>
		<author sex="男">小吴者然</author>
	</user>		
</root>
_xml;
	//创建一个simplexml对象,传入xml字符串
	$_sxe = new SimpleXMLElement($_xml);
	//生成xml文件
	$_sxe->asXML('test.xml');
?>

 

demo3.php

<?php
	//载入xml文件,simplexml
	$_sxe = simplexml_load_file('ta200.xml');
	//测试
	echo $_sxe->asXML();
	//print_r($_sxe);
	//var_dump($_sxe);
	//Reflection::export(new ReflectionClass($_sxe));
?>

 

demo4.php

<meta charset="UTF-8">
<?php
	//载入xml
	$_sxe = simplexml_load_file('test.xml');
	//读一级标签的值
	//echo $_sxe->version;
	//如果有多个version标签$_sxe->version其实是一个数组
	//print_r($_sxe->version);
	//echo $_sxe->version[2];
	//遍历version标签
//	foreach ($_sxe->version as $_v) {
//		echo '['.$_v.']';
//	}
	//如果要访问二级标签,必须一层一层指明
	//echo $_sxe->user[1]->name;
	//遍历所有的name值
//	foreach ($_sxe->user as $_user) {
//		echo '['.$_user->name.']';
//	}
	//输出第二个user里的author的性别
	echo $_sxe->user[1]->author->attributes();
?>

 

demo5.php

<meta charset="UTF-8">
<?php
	//使用xpath来获取xml节点操作
	//载入xml
	$_sxe = simplexml_load_file('test.xml');
	//获取version的值
	$_version = $_sxe->xpath('/root/version');
	//print_r($_version);
	//echo $_version[1];
//	foreach ($_version as $_v) {
//		echo $_v;
//	}
	$_name = $_sxe->xpath('/root/user/name');
	//print_r($_name);
//	echo $_name[0];
	$_author = $_sxe->xpath('/root/user/author');
	echo $_author[1]->attributes();
?>

 

demo6.php

<meta charset="UTF-8">
<?php
	//使用domdocument来解析xml
	//创建dom对象
	$_doc = new DOMDocument();
	//载入xml文件
	$_doc->load('test.xml');
	//取第一个version的值,getElementsByTagName就是查找传入的标签
	$_version = $_doc->getElementsByTagName('version');
	//item(0)表示第几个,nodeValue表示标签里的值
	//echo $_version->item(2)->nodeValue;
//	foreach ($_version as $_v) {
//		echo $_v->nodeValue;
//	}
	$_name = $_doc->getElementsByTagName('name');
	echo $_name->item(1)->nodeValue;
?>

 

demo7.php

<?php
	//使用dom创建xml文件
	//声明domdocument对象
	$_doc = new DOMDocument('1.0','utf-8');
	//使用xml标准化格式输出
	$_doc->formatOutput = true;
	//使用createelement来创建一个标签
	$_root = $_doc->createElement('root');
	//在root标签里创建一个version标签
	$_version = $_doc->createElement('version');
	//在version里面填入一个字符串
	$_versionTextNode = $_doc->createTextNode('1.0');
	//将1.0放入version标签
	$_version->appendChild($_versionTextNode);
	//把version标签添加到root标签内
	$_root->appendChild($_version);
	//将root主标签添加到xml文件里
	$_doc->appendChild($_root);
	//生成xml
	$_doc->save('test2.xml');
?>

 

 

 

 

 

 

 

标签:XML,xml,sxe,echo,version,PHP,root,第四章,name
From: https://blog.51cto.com/u_16171388/6558640

相关文章

  • PHP 多行字符串的赋值方法
    <?php//PHP多行字符串的赋值方法//<<<string里面的string是可以随机其他的标记 $article=<<<string<!DOCTYPEhtml><htmllang="zh-cn"><head><metacharset="UTF-8"><metaname="viewport"content=&......
  • PHP 堆 栈 数据段 代码段 存储的理解
    代码段、数据段、堆栈段,这是一个概念堆、栈、全局区、常量区,这是另一个概念函数代码存放在代码段。声明的类如果从未使用,则在编译时,会优化掉,其成员函数不占代码段空间。栈:基本数据类型局部变量(这两种甚至可以直接认为一块空间叫a,里面存着8)类的引用(指向堆空间段)堆:new出来的......
  • PHP 去除前后空格
    <metacharset="UTF-8"><?php$str="阅谁问群诵,水落清香浮。";echo"方括号中为原始字符串:[$str]\n";$str1=ltrim($str);echo"执行ltrim()之后的字符串:[$str1]\n";$str2=rtrim($str);echo"执行rtrim()之后的字符串:[$str2]\n"......
  • [WP] 攻防世界 CSFJ0234 PHP2
    「场景」http://61.147.171.105:54099/「过程」创建场景后,点击得到的URL,在F12开发者工具中收集信息。服务器:Apache语言:PHP直接上御剑扫描发现/index.php总所周知,phps即PHPSource,是php的源代码文件。通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览......
  • PHP 获取url的一级域名的方法
    <?phpfunctionregular_domain($domain){ if(substr($domain,0,7)=='http://'){ $domain=substr($domain,7); } if(strpos($domain,'/')!==false){ $domain=substr($domain,0,strpos($domain,'/'......
  • Zend Studio 10.6.2 修改新建php文件时的默认模板
    Window-->preferences-->PHP-->CodeStyle-->CodeTemplates-->Simplephpfile ,点击edit。修改成你想要的结果,然后点击OK保存。 ......
  • PHP 批量检测网站是否正常打开
    curl_setopt函数是php中一个重要的函数,它可以模仿用户的一些行为,如模仿用户登录,注册等等一些用户可操作的行为。 <metacharset="utf-8"><?php//设置最大执行时间是120秒ini_set('max_execution_time',120);functionhttpcode($url){ $ch=curl_init(); $timeout=3; c......
  • PHP htmlspecialchars() 函数
    htmlspecialchars()函数把预定义的字符转换为HTML实体。<?php$str="Thisissome<b>bold</b>text.";echohtmlspecialchars($str);?> htmlspecialchars()函数把预定义的字符转换为HTML实体。预定义的字符是:&(和号)成为&"(双引号)成为"'(单引号)成为'......
  • thinkphp或者其他h5页面开启HMR
    在ThinkPHP框架中,HTML文件通常是由PHP渲染的视图文件。要在这样的环境中实现HMR(HotModuleReplacement,热模块替换),你可能需要将前端开发环境(如Webpack或Vite)与ThinkPHP集成。以下是一个基本的步骤:1.首先,你需要在项目中安装Node.js和npm(或yarn),并使用它们来安装W......
  • PHP 检测网址是否能正常打开代码
    这是一个检测网址是否能正常打开的PHP代码,通过下面的代码检测一个网址是否能正常访问,如果正常则会返回http状态码200的值,如果为其它则不正常;这个代码我们可以用到很多地方,例如缓存友情链接的ICO图标时就可以用到,缓存时先检测网站是否正常,如果正常就缓存ICO图标,否则调用一个默认的图......