xml的语法与创建

xml语法很简单,但很严格,如果出现错误则不能正常解析,而HTML如果出现局部的错误,照样解析
xml第一行必须写xml头<?xml version='1.0' encoding='utf8'?>
如果不写在第一行,则会报错
除了头xml文件只能有一个根标签,根标签中可以有多个标签,这些标签可以嵌套,但不可以交叉嵌套
xml是为了传输数据而生的,而不是显示数据,显示数据用html
标签中可以存在属性:属性必须要有值,属性值必须用引号引起来
注释内容用<!--这里是注释内容-->
在页面中要显示特殊符号,要使用实体代替
如果要引入大段的文本,不可能将所有的特殊符号都替换成实体,要用到CDATA标签<![CDATA[大段文本存放位置]]>

手写的xml 01.xml

<?xml version='1.0' encoding='utf8' ?>
<bookstory>
	<book>
		<title>java基础</title>
		<price>19.9元</price>
	</book>
	<book>
		<title>c语言程序设计</title>
		<price>15.0元</price>
	</book>
	<book>
		<title>java实战</title>
		<price>35.5元</price>
	</book>
</bookstory>

 php解析readxml.php

<?php

//创建DOM对象
$dom=new DOMdocument('1.0','utf8');

//载入xml文档
$dom->load('01.xml');

//得到title节点
$title=$dom->getElementsByTagName('title');

//var_dump($title);//返回object(DOMNodeList)[2]Dom节点列表

$book=$title->item(0);//获得第一个节点对象
//var_dump($book);


$name=$book->nodeValue;//获得这个节点的内容

echo $name;

?>

 php创建xml 02.php

<?php
//程序生成xml文件

//创建dom对象
$dom=new DOMdocument('1.0','utf8');

//创建文本节点
$t1=$dom->createTextNode('java基础知识');

//创建普通节点
$name=$dom->createElement('title');

//将文本节点添加到普通节点中
$name->appendChild($t1);

$t2=$dom->createTextNode('19.9元');
$price=$dom->createElement('price');
$price->appendChild($t2);

//创建CDATA
$cdata=$dom->createCDATASection('这里的内容可以随便写,反正不解析{{}{}{}【】【】[]');

//创建属性
$att=$dom->createAttribute('id');
$att->value='sn21314324234123';

$name->appendChild($att);

//创建根节点
$story=$dom->createElement('bookstory');

$book=$dom->createElement('book');
$book->appendChild($name);
$book->appendChild($price);
$story->appendChild($book);
$story->appendChild($cdata);
$dom->appendChild($story);
header('content-type:text/xml');
//输出
echo $dom->savexml();

?>

 

转载于:https://www.cnblogs.com/lzzhuany/p/4841229.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值