
浅谈XML解析php
XML是一个由名称、数据、属性和其他标签组成的文档。它总是有一个根标签,所有其他标签都存在于它里面,XML里面的数据以文本内容的形式存在。如果我们知道它的结构,我们就可以读懂xml。因此,php为我们提供了SimpleXMl扩展,帮助我们读取xml文件。通过使用SimpleXMl,我们也可以轻松地操作xml。通过使用SimpleXML,我们可以很容易地将xml转换成代码中的可读对象,并使用任何数据结构对其进行迭代。在本教程的下一节,我们将仔细研究创建xml和读出数据的语法,以便初学者更好地理解它。在这个主题中,我们将学习XML解析php。
安装xml解析php
如果我们想在php中读取xml文件,那么这个库是存在于php核心中的,我们不需要下载或安装任何第三方的依赖来实现这个功能。我们可以使用由php核心提供的SimpleXML,在这种情况下不需要安装或下载依赖性,因此php使代码中的xml解析变得简单。
如何使用PHP读取XML?
为了读取cml文件,我们将使用SimpleXML解析器,这是php核心的一部分。为了使用它,我们可以简单地提供xml文件并使用它的函数来解析它,而不需要太多麻烦。但是为了继续使用SimpleXML解析器来阅读xml,我们首先必须了解xml文件的基本结构。所以在这一节中,我们将首先讨论基本结构,然后我们将开始使用SimpleXML阅读它,所以让我们开始看看下面的内容。
基本结构:
<?xml version='1.0' encoding='UTF-8'?>
<root node>
<child tag 1> one </child tag 1>
<child tag 2> two </child tag 2>
// and so on .. //
</root node>
正如我们在上面的语法中看到的,我们可以创建xml,它将包含根元素。让我们仔细看看这个语法的细节,以便更好地理解,见下文:
1)首先它将包含xml文档的版本和编码部分。
2)接着是根元素,这不过是它里面所有对象的父类。
-
之后我们可以定义存在于其中的子对象,也可以包含表示数据列表的列表或数组。
-
记住所有打开的标签都应该在适当的地方关闭,否则它会给我们带来错误。
5)如果xml结构不正确,那么它在解析到pojo对象时将会出现错误。
现在我们可以使用SimpleXML解析器提供的函数来读取php xml文件,让我们来看看函数的细节,以了解它,见下文。
a) simplexml_load_string()。 这个函数用于在php中读取由SimpleXML解析器提供的xml。这个函数把xml作为参数,然后它将尝试解析它。因此,我们可以通过我们的变量来保存这个xml的变量。
为了更好地理解,请看下面的参考代码。
例如:
$myXml=simplexml_load_string($xmlContent)
这样,我们就可以用它来解析我们的xml数据。
如何使用PHP创建XML?
在本节中,我们将看到我们如何使用php SimpleXml解析器创建XMl文件,让我们仔细看看。对于这一点,我们可以简单地有一个变量来保存xml文件,下面的代码将帮助你理解这一点,见下文。
语法:
$varibale_name = " xml content here ";
正如你所看到的,在上面的语法中,我们试图将xml内容保存在变量中,为此我们也将看到一个参考代码来创建它:
-
创建将容纳xml的变量
-
创建xml,就像在前一部分讨论的那样,包括根元素、属性和元素的信息。
-
每一个打开的标签都将有一个关闭的标签,如果没有,就会发生错误。
例如:
$xmlContent =
"<?xml version='1.0' encoding='UTF-8'?>
<demo>
<city>Mumbai</city>
<state> MH </state>
<title> Hello </title>
<content> some information here ..// </content>
</demo>";
通过这种方式,我们可以创建易于使用和创建的xml。在下一节中,我们将仔细看看在php中使用SimpleXml的实践例子,并运行该程序以更好地理解所附的输出。
PHP SimpleXML - 从文件读取
在上一节中,我们已经讨论了使用SimpleXML创建和读取文件的问题,在这一节中,我们将仔细看看实践的例子以更好地理解。让我们看一下下面的例子。
- 在下面的例子中,我们将看到从php core提供的SimpleXMl分析器中创建和读取一个xml文件的过程。我们使用它的函数来读取文件,在这里绕过了我们的xml作为参数。在最后,我们重新打印了xml的结果。
例如:
<?php
// preparing the xml content for document.
$xmlContent =
"<?xml version='1.0' encoding='UTF-8'?>
<demo>
<city> Mumbai </city>
<state> MH </city>
<title> Hello world!! </title>
<content> Information here ..// /< content >
</demo>";
// reading the file using SimpleXML load string function by passing the value.
$result=simplexml_load_string($xmlContent);
// printing the result here ,//
print_r($result);
?>
输出

结论
在PHP中,解析xml内容是很容易的,因为它为我们提供了一个库,即SimpleXML,它只存在于php核心中,所以我们不需要在外部安装或下载任何库来使这个功能工作。它很容易使用,开发,可读性,以及开发人员的维护。