什么是XML
点击:发布日期:2023/9/11
XML 是“可扩展性标识语言(eXtensible Markup Language)”的缩写,是一种类似于 HTML的标记性语言。但是与 HTML 不同,XML 主要用于描述数据和存放数据,而 HTML 主要用于显示数据。XML 是一种流行的半结构化文件格式,以一种类似数据库的格式存储数据。在实际应用中,一些简单的、安全性较低的数据往往使用 XML 文件的格式进行存储。这样做的好处很多,一方面可以通过减少与数据库的交互性操作提高读取效率,另一方面可以有效利用 XML 的优越性降低程序的编写难度。
PHP 提供了一整套的读取 XML 文件的方法,很容易地就可以编写基于 XML 的脚本程序。
通过 XML,开发者可以根据自己的需要创建标记的名称。例如,下面的 XML 代码可以
用来描述一条学生信息(info.xml)。
01
lucy
girl
其中 标签标记了这是一个学生信息,信息中包括学号、姓名、性别信息。
(1)存储 XML
可以通过创建一个 SimpleXML 对象来临时存储 XML 数据。对 XML 进行的操作都是通过操作 SimpleXML 对象来完成的。可以通过使用 simplexml_load_flie 函数读取一个 XML文件来完成创建,其语法格式如下:
simplexml_load_file(string filename)
(2)标准化 XML 数据SimpleXML 还提供了一种标准化 XML 数据的方法 asXML。asXML 方法可以有效地将SimpleXML 对象中的内容按照 XML 1.0 标准进行重新编排并以字符串的数据类型返回。以下代码实现了对上面 XML 数据的标准化:
$xml = simplexml_load_file('info.xml');
echo $xml->asXML();
?>
程序的运行结果为
01
lucy
girl
(3)动态创建 XML 文件在实际的项目开发中,经常需要动态生成 XML 文件,之前的组件不能提供此种功能,需要使用DOM 组件来进行创建。DOM是文档对象模型 Document Object Model的缩写,DOM组件提供了对 XML 文档的树形解析模式。以下代码使用 DOM 组件创建了一个 XML 文档:
$dom = new DomDocument(); //创建 DOM 文档
$info = $dom->createElement('info'); //在根节点创建 info 标签
$dom->appendChild($info);
$num = $dom->createElement('num'); //在 info 标签下创建 num 子标签
$info->appendChild($num);
$num_value = $dom->createTextNode('100001'); //赋值
$num->appendChild($num_value);
$name = $dom->createElement('name');
$info->appendChild($name);
$name_value = $dom->createTextNode('lucy');
$name->appendChild($name_value);
$sex = $dom->createElement('sex');
$info->appendChild($sex);
$sex_value = $dom->createTextNode('girl');
$sex->appendChild($sex_value);
//输出 XML 数据
echo $dom->saveXML();
?>
程序的运行结果为
100001
lucy
girl
DOM 组件不但能够动态创建 XML 文件,还可以读取 XML 文件,如下代码实现对之前
XML 文件的读取:
$dom = new DomDocument(); //创建 DOM 对象
$dom->load('info.xml'); //load XML 文件
$root = $dom->documentElement; //获取根节点
read_xml($root); //读取对象
function read_xml($node)
{
$children = $node->childNodes; //获得所有子节点
foreach($children as $e) //循环遍历
{
if($e->nodeType == XML_TEXT_NODE) //文本型
{
echo $e->nodeValue."\n";
面试笔试经验技巧篇
XVI
}
else if($e->nodeType == XML_ELEMENT_NODE) //对象节点,递归调用
{
read_xml($e);
}
}
}
?>
程序的运行结果为
01
lucy
PHP 提供了一整套的读取 XML 文件的方法,很容易地就可以编写基于 XML 的脚本程序。
通过 XML,开发者可以根据自己的需要创建标记的名称。例如,下面的 XML 代码可以
用来描述一条学生信息(info.xml)。
其中
(1)存储 XML
可以通过创建一个 SimpleXML 对象来临时存储 XML 数据。对 XML 进行的操作都是通过操作 SimpleXML 对象来完成的。可以通过使用 simplexml_load_flie 函数读取一个 XML文件来完成创建,其语法格式如下:
simplexml_load_file(string filename)
(2)标准化 XML 数据SimpleXML 还提供了一种标准化 XML 数据的方法 asXML。asXML 方法可以有效地将SimpleXML 对象中的内容按照 XML 1.0 标准进行重新编排并以字符串的数据类型返回。以下代码实现了对上面 XML 数据的标准化:
$xml = simplexml_load_file('info.xml');
echo $xml->asXML();
?>
程序的运行结果为
(3)动态创建 XML 文件在实际的项目开发中,经常需要动态生成 XML 文件,之前的组件不能提供此种功能,需要使用DOM 组件来进行创建。DOM是文档对象模型 Document Object Model的缩写,DOM组件提供了对 XML 文档的树形解析模式。以下代码使用 DOM 组件创建了一个 XML 文档:
$dom = new DomDocument(); //创建 DOM 文档
$info = $dom->createElement('info'); //在根节点创建 info 标签
$dom->appendChild($info);
$num = $dom->createElement('num'); //在 info 标签下创建 num 子标签
$info->appendChild($num);
$num_value = $dom->createTextNode('100001'); //赋值
$num->appendChild($num_value);
$name = $dom->createElement('name');
$info->appendChild($name);
$name_value = $dom->createTextNode('lucy');
$name->appendChild($name_value);
$sex = $dom->createElement('sex');
$info->appendChild($sex);
$sex_value = $dom->createTextNode('girl');
$sex->appendChild($sex_value);
//输出 XML 数据
echo $dom->saveXML();
?>
程序的运行结果为
DOM 组件不但能够动态创建 XML 文件,还可以读取 XML 文件,如下代码实现对之前
XML 文件的读取:
$dom = new DomDocument(); //创建 DOM 对象
$dom->load('info.xml'); //load XML 文件
$root = $dom->documentElement; //获取根节点
read_xml($root); //读取对象
function read_xml($node)
{
$children = $node->childNodes; //获得所有子节点
foreach($children as $e) //循环遍历
{
if($e->nodeType == XML_TEXT_NODE) //文本型
{
echo $e->nodeValue."\n";
面试笔试经验技巧篇
XVI
}
else if($e->nodeType == XML_ELEMENT_NODE) //对象节点,递归调用
{
read_xml($e);
}
}
}
?>
程序的运行结果为
01
lucy
gir
想了解更多关于临沂网络营销,临沂网络公司,临沂网站营销,临沂网站推广,临沂网站制作,临沂网站设计,临沂网站建设,请关注http://www.lywlyx.com/学习更多关于知识