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(); ?>

xml的语法与创建的更多相关文章

  1. (C#)xml的简单理解创建和读取

    xml知识点清理:一.文档规则 1.区分大小写. 2.属性值必须加引号(单引号.双引号都可以),一般情况下建议使用使用双引号. 3.所有标记必须有结束符号. 4.所有空标记必须关闭. 5.必须有且仅有 ...

  2. JAVA企业级开发-xml基础语法&约束&解析(04)

    一.什么是xml html:超文本标记语言.它主要是用来封装页面上要显示的数据,最后通过浏览器来解析html文件,然后把数据展示在浏览器上.同样我们可以使用JS和DOM技术对html文件进行解析和操作 ...

  3. xml的解析与创建——bing到youdao导入文件的转换

    首先是为了解决一个问题:如何将必应单词本中记录的单词转入到有道词典中去.实际上,必应词典可以导出xml文件,但是该文件有道词典无法解析.这里涉及到xml的解析和创建了. 代码如下: import ja ...

  4. Dom4j解析Xml文件,Dom4j创建Xml文件

    Dom4j解析Xml文件,Dom4j创建Xml文件 >>>>>>>>>>>>>>>>>>&g ...

  5. 解析XML出错,无法创建DOMDocument对象

    [问题] 加载XML配置文件时,创建DOMDocument对象总是失败,创建代码如下: MSXML2::IXMLDOMDocumentPtr pXMLDoc; MSXML2::IXMLDOMEleme ...

  6. XML的语法

    XML的语法 文档声明: 写法 <?xml version="1.0" ?> 文档声明必须出现在xml文件的第一行和第一列的位置 属性: version="1 ...

  7. XML DTD语法详解

    XML DTD详解   XML DTD详解 前情提要与本文内容介绍 前面的两篇XML相关博文: 第一篇是介绍格式正规的XML: 格式正规的XML:语法 属性 实体 处理指令 样式单 CDATA节 第二 ...

  8. java日志框架系列(4):logback框架xml配置文件语法

    1.xml配置文件语法 由于logback配置文件语法特别灵活,因此无法用DTD或schema进行定义. 1.配置文件基本结构 配置文件基本结构:以<configuration>标签开头, ...

  9. WSO2 ESB XML定义语法(1)

    1.(基于Apache Synapse的WSO2 ESB实现)参考文件位置: http://synapse.apache.org/userguide/config.html 基于Apache Syna ...

随机推荐

  1. Spring MVC @ModelAttribute

    1.@ModelAttribute注释void返回值的方法 @Controller public class HelloModelController { @ModelAttribute public ...

  2. 50道经典的JAVA编程题(26-30)

    50道经典的JAVA编程题(26-30),这么晚了,早点睡了要,明早8点考java祝我好运吧!!!晚安~ [程序26]Ex26.java(跳过了,好没意思的题啊)题目:请输入星期几的第一个字母来判断一 ...

  3. 【转载】C/C++语言void及void指针深层探索

    C/C++语言void及void指针深层探索 1.概述许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误.本文将对void关键字的深刻含义进行解说,并详述vo ...

  4. Event Managers

    Some PLF-based controls expose a convenient facility for temporarily disabling their events and for ...

  5. 【openstack报错】【metadata问题】‘http://169.254.169.254/2009-04-04/meta-data/instance-id’ failed : url error [[Errno 111] Connection refused]

    [时间]2014年2月25日 [平台]ubuntu 12.04.3 openstack havana  with nova-network in multi-host [日志]实例启动时输出的日志内容 ...

  6. 解决dwr报错【 Error: java.lang.SecurityException: No class by name: service】

    打开包含dwr的网页时后台报错: 警告: Names of known classes are: __System DwrQueryService 十二月 11, 2015 10:24:44 上午 o ...

  7. Hadoop MapReduce概念学习系列之JobTracker、ResourceManager、Task Tracker、NodeManager(二十一)

    Tracker是跟踪者,跟踪器.JobTracker是项目经理.在hadoop2*的0.23版本之后,改叫RM了.ResourceManager.TaskTracker是小组长.它手下,还有具体搬砖的 ...

  8. Android Studio 模拟器启动问题——黑屏 死机 解决方法

    今天用了下Android Studio,出现了一些问题,现在将启动过程中遇到的问题和解决方案列出来,方便大家参考. 安装过程不多说,网上一搜一大把. 那直接说问题吧: 1. 无法启动,报错:Faile ...

  9. A Tour of Go Function values

    Functions are values too. 在函数式语言中中函数都是变量,比如在javascript中 package main import ( "fmt" " ...

  10. cadence16.6 中orcad导出网表时ERROR (ORCAP-5004)(win7 旗舰版32位)

    1,选择开始>运行,打开运行窗口.2,输入cmd,打开命令行窗口.3,进入cmd,找到orpxllite.ocx和orTrueReuse.ocx的所在的目录4,输入以下命令:regsvr32 & ...