- 1
- 2
- 3
Maison >développement back-end >tutoriel php >PHP读取XML值的代码(推荐)_PHP
用Php读取XML最简单的情况:
XML文件(cy.xml)如下:
复制代码 代码如下:
1
2
3
Php文件(cy.php)如下:
复制代码 代码如下:
$xml = new DOMDocument();
$xml->load('cy.xml');
foreach($xml->getElementsByTagName('list') as $list)
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
?>
cy.php的运行结果:
1
2
3
=============
用Php读取XML稍微复杂一点的情况:
cy.xml如下:
复制代码 代码如下:
1
2
3
cy.php如下(和第一种情况没有任何变化):
复制代码 代码如下:
$xml = new DOMDocument();
$xml->load('cy.xml');
foreach($xml->getElementsByTagName('list') as $list)
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
?>
cy.php的运行结果和第一次也相同:
1
2
3
Php读取XML第三种情况:
XML文件(cy.xml)如下:
复制代码 代码如下:
1
2
3
4
5
6
Php文件(cy.php)如下(和第一次依然没有变化):
复制代码 代码如下:
$xml = new DOMDocument();
$xml->load('cy.xml');
foreach($xml->getElementsByTagName('list') as $list)
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
?>
cy.php的输出结果:
1
2
3
4
5
6
===========
Php读取XML第四种情况,保持cy.xml不变,改变cy.php:
XML文件(cy.xml)如下:
复制代码 代码如下:
1
2
3
4
5
6
Php文件(cy.php)如下:
复制代码 代码如下:
$xml = new DOMDocument();
$xml->load('cy.xml');
$main = $xml->getElementsByTagName('main');
foreach( $main as $main)
{
$list = $main->getElementsByTagName( “list” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
}
?>
cy.php输出结果:
1
2
3
4
5
6
为什么两次的cy.php不同,但输出结果是相同的?让我们来看下一个例子
==============
Php读取XML第五种情况,改变cy.xml,使cy.php保持第四种情况:
XML文件(cy.xml)如下:
复制代码 代码如下:
1
2
3
4
5
6
7
8
9
Php文件(cy.php)和第四种情况相同:
复制代码 代码如下:
$xml = new DOMDocument();
$xml->load('cy.xml');
$main = $xml->getElementsByTagName('main');
foreach( $main as $main)
{
$list = $main->getElementsByTagName( “list” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
}
?>
cy.php输出结果为:
1
2
3
4
5
6
为什么 7
8
9
中的7,8,9没有被读出来?
因为我们的cy.php只读取标记中的内容.
我们这里所提到的”标记”,在XML里被称做”节点”;
关于”节点”的相关概念,我们将在以后说明.
Php读取XML情况六,再foreach一次,我们把7,8,9读出来!:
XML文件(cy.xm)如下:
复制代码 代码如下:
1
2
3
4
5
6
7
8
9
Php文件(cy.php)如下:
复制代码 代码如下:
$xml = new DOMDocument();
$xml->load('cy.xml');
$main = $xml->getElementsByTagName('main');
foreach( $main as $main)
{
$list = $main->getElementsByTagName( “list” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
}
$m = $xml->getElementsByTagName('m');
foreach( $m as $m)
{
$list = $m->getElementsByTagName( “list” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
}
?>
cy.php输出结果:
1
2
3
4
5
6
7
8
9
===============
Php读取XML情况七,cy.xml变得更复杂一些:
XML文件(cy.xml)如下:
复制代码 代码如下:
1
2
3
4
5
6
7
8
9
那么,我们如何只读出内