欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP讀取XML值的代碼(推薦)

 更新時間:2011年01月01日 20:11:03   作者:  
PHP讀取XML值的代碼,網(wǎng)上很多是pdf版的,變向的賺積分,腳本特為大家搜索整理。希望大家以后多多的支持我們。
用Php讀取XML最簡單的情況:

XML文件(cy.xml)如下:
復制代碼 代碼如下:

<?xml version=”1.0″ encoding=”gb2312″?>
<xml>
<list>1</list>
<list>2</list>
<list>3</list>
</xml>

Php文件(cy.php)如下:
復制代碼 代碼如下:

<?php
$xml = new DOMDocument();
$xml->load('cy.xml');
foreach($xml->getElementsByTagName('list') as $list)
{
$value = $list->firstChild->nodeValue;
echo $value.”<br />”;
}
?>

cy.php的運行結(jié)果:
1
2
3

=============

用Php讀取XML稍微復雜一點的情況:

cy.xml如下:
復制代碼 代碼如下:

<?xml version=”1.0″ encoding=”gb2312″?>
<xml>
<main>
<list>1</list>
<list>2</list>
<list>3</list>
</main>
</xml>

cy.php如下(和第一種情況沒有任何變化):
復制代碼 代碼如下:

<?php
$xml = new DOMDocument();
$xml->load('cy.xml');
foreach($xml->getElementsByTagName('list') as $list)
{
$value = $list->firstChild->nodeValue;
echo $value.”<br />”;
}
?>

cy.php的運行結(jié)果和第一次也相同:
1
2
3

Php讀取XML第三種情況:

XML文件(cy.xml)如下:
復制代碼 代碼如下:

<?xml version=”1.0″ encoding=”gb2312″?>
<xml>
<main>
<list>1</list>
<list>2</list>
<list>3</list>
</main>
<main>
<list>4</list>
<list>5</list>
<list>6</list>
</main>
</xml>

Php文件(cy.php)如下(和第一次依然沒有變化):
復制代碼 代碼如下:

<?php
$xml = new DOMDocument();
$xml->load('cy.xml');
foreach($xml->getElementsByTagName('list') as $list)
{
$value = $list->firstChild->nodeValue;
echo $value.”<br />”;
}
?>

cy.php的輸出結(jié)果:
1
2
3
4
5
6

===========

Php讀取XML第四種情況,保持cy.xml不變,改變cy.php:

XML文件(cy.xml)如下:
復制代碼 代碼如下:

<?xml version=”1.0″ encoding=”gb2312″?>
<xml>
<main>
<list>1</list>
<list>2</list>
<list>3</list>
</main>
<main>
<list>4</list>
<list>5</list>
<list>6</list>
</main>
</xml>

Php文件(cy.php)如下:
復制代碼 代碼如下:

<?php
$xml = new DOMDocument();
$xml->load('cy.xml');
$main = $xml->getElementsByTagName('main');
foreach( $main as $main)
{
$list = $main->getElementsByTagName( “l(fā)ist” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”<br />”;
}
}
?>

cy.php輸出結(jié)果:
1
2
3
4
5
6

為什么兩次的cy.php不同,但輸出結(jié)果是相同的?讓我們來看下一個例子

==============

Php讀取XML第五種情況,改變cy.xml,使cy.php保持第四種情況:

XML文件(cy.xml)如下:
復制代碼 代碼如下:

<?xml version=”1.0″ encoding=”gb2312″?>
<xml>

<main>
<list>1</list>
<list>2</list>
<list>3</list>
</main>
<main>
<list>4</list>
<list>5</list>
<list>6</list>
</main>
<m>
<list>7</list>
<list>8</list>
<list>9</list>
</m>

</xml>

Php文件(cy.php)和第四種情況相同:
復制代碼 代碼如下:

<?php
$xml = new DOMDocument();
$xml->load('cy.xml');
$main = $xml->getElementsByTagName('main');
foreach( $main as $main)
{
$list = $main->getElementsByTagName( “l(fā)ist” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”<br />”;
}
}
?>

cy.php輸出結(jié)果為:
1
2
3
4
5
6

為什么
<m>
<list>7</list>
<list>8</list>
<list>9</list>
</m>
中的7,8,9沒有被讀出來?
因為我們的cy.php只讀取<main></main>標記中的內(nèi)容.<m></m>標記中的內(nèi)容是不會被讀取的.
我們這里所提到的”標記”,在XML里被稱做”節(jié)點”;
關(guān)于”節(jié)點”的相關(guān)概念,我們將在以后說明.

Php讀取XML情況六,再foreach一次,我們把7,8,9讀出來!:

XML文件(cy.xm)如下:
復制代碼 代碼如下:

<?xml version=”1.0″ encoding=”gb2312″?>
<xml>
<main>
<list>1</list>
<list>2</list>
<list>3</list>
</main>
<main>
<list>4</list>
<list>5</list>
<list>6</list>
</main>
<m>
<list>7</list>
<list>8</list>
<list>9</list>
</m>
</xml>

Php文件(cy.php)如下:
復制代碼 代碼如下:

<?php
$xml = new DOMDocument();
$xml->load('cy.xml');
$main = $xml->getElementsByTagName('main');
foreach( $main as $main)
{
$list = $main->getElementsByTagName( “l(fā)ist” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”<br />”;
}
}
$m = $xml->getElementsByTagName('m');
foreach( $m as $m)
{
$list = $m->getElementsByTagName( “l(fā)ist” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”<br />”;
}
}
?>

cy.php輸出結(jié)果:
1
2
3
4
5
6
7
8
9

===============

Php讀取XML情況七,cy.xml變得更復雜一些:

XML文件(cy.xml)如下:
復制代碼 代碼如下:

<?xml version=”1.0″ encoding=”gb2312″?>
<xml>
<main>
<title>a</title>
<list>1</list>
<list>2</list>
<list>3</list>
</main>
<main>
<title>b</title>
<list>4</list>
<list>5</list>
<list>6</list>
</main>
<m>
<title>c</title>
<list>7</list>
<list>8</list>
<list>9</list>
</m>
</xml>

那么,我們?nèi)绾沃蛔x出<main></main>內(nèi)<title></title>中的值呢?

Php文件(cy.php)如下:
復制代碼 代碼如下:

<?php
$xml = new DOMDocument();
$xml->load('cy.xml');
$main = $xml->getElementsByTagName('main');
foreach( $main as $main)
{
$list = $main->getElementsByTagName( “l(fā)ist” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”<br />”;
}
$title = $main->getElementsByTagName( “title” );
foreach ( $title as $title )
{
$value = $title->firstChild->nodeValue;
echo $value.”<br />”;
}
}

$m = $xml->getElementsByTagName('m');
foreach( $m as $m)
{
$list = $m->getElementsByTagName( “l(fā)ist” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”<br />”;
}
}
?>

cy.php輸出結(jié)果:
1
2
3
a
4
5
6

7
8
9

想一下,如何讀出<m>中<title></title>的值?

Php讀取XML再通過一個例子鞏固一下:

XML文件(cy.xml)如下:
復制代碼 代碼如下:

<?xml version=”1.0″ encoding=”gb2312″?>
<LevelOne>
<LevelTwo>
<LevelThree id=”1″>This is Text One</LevelThree>
<LevelThree id=”2″>This is Text Two</LevelThree>
<LevelThree id=”3″>This is Text Three</LevelThree>
</LevelTwo>
<LevelTwo>
<LevelThree id=”4″>This is Text Four</LevelThree>
<LevelThree id=”5″>This is Text Five</LevelThree>
<LevelThree id=”6″>This is Text Six</LevelThree>
</LevelTwo>
</LevelOne>

Php文件(cy.php)如下:
復制代碼 代碼如下:

<?php
$xml = new DOMDocument(); //建立一個DOMDocument
$xml->load('cy.xml'); //Php指定需要讀取xml文件的位置
$LevelOne = $xml->getElementsByTagName('LevelOne');//按照名稱取得節(jié)點,返回所有節(jié)點的集合,不過這里這樣讀LevelOne是沒有意義的….
$LevelOne = $xml->getElementsByTagName('LevelOne')->item(0);//返回第一個LevelOne節(jié)點中的內(nèi)容
$LevelTwo = $LevelOne->getElementsByTagName('LevelTwo'); //按照名稱取得節(jié)點,返回所有LevelTwo
foreach ( $LevelTwo as $Content )//循環(huán)讀出所有LevelTwo,并在循環(huán)里,把LevelTwo用Content表示
{
$LevelThree = $Content->getElementsByTagName('LevelThree');//返回所有LevelThree
foreach ( $LevelThree as $Concert )
{
$name = $Concert->nodeName;//節(jié)點名稱
$value = $Concert->nodeValue;//節(jié)點值
$id = $Concert->getAttribute('id');//”id”屬性值
echo $name.”<br />”;
echo $value.”<br />”;
echo $id.”<br />”;
}
}
?>

如果用$LevelOne = $xml->getElementsByTagName('LevelOne')這樣的方式取得節(jié)點,那么,讀取里面的內(nèi)容,需要用foreach 循環(huán),因為$LevelOne = $xml->getElementsByTagName ('LevelOne')返回的,是一個集合,并不是一個具體的節(jié)點—-僅管叫做LevelOne的節(jié)點只有一個….
如果用$LevelOne = $xml->getElementsByTagName('LevelOne')->item(0)這樣的方式取得節(jié)點,那么讀取里面的內(nèi) 容,可以直接$LevelOne->xxxxxx,因為這樣返回的是一個具體的節(jié)點。

現(xiàn)在提供一種很簡便的方法用PHP讀取XML:

XML文件(cy.xml)如下:
復制代碼 代碼如下:

<?xml version=”1.0″ encoding=”gb2312″?>
<xml>
<site>
<part id=”1″>
<title id=”a”>czbin xml版塊</title>
<describe>xml的相關(guān)文章</describe>
</part>
<part id=”2″>
<title id=”b”>czbin php版塊</title>
<describe>php的相關(guān)文章</describe>
</part>
<part id=”3″>
<title id=”c”>czbin ajax版塊</title>
<describe>ajax的相關(guān)文章</describe>
</part>
</site>
</xml>

Php文件(cy.php)如下:
復制代碼 代碼如下:

<?php
$xml = simplexml_load_file('sxml.xml');
$part = $xml->site->part;
foreach ( $part as $content )
{
echo $content['id'].”<br />”;
echo $content->title.”<br />”;
echo $content->title['id'].”<br />”;
echo $content->describe.”<br />”;
}
?>

cy.php輸出結(jié)果:
1
czbin xml版塊
a
xml的相關(guān)文章
2
czbin php版塊

php的相關(guān)文章
3
czbin ajax版塊
c
ajax的相關(guān)文章

怎么樣?的確很簡單吧!

相關(guān)文章

  • PHP 觀察者模式深入理解與應用分析

    PHP 觀察者模式深入理解與應用分析

    這篇文章主要介紹了PHP 觀察者模式,結(jié)合實例形式深入分析了對觀察者模式的理解與應用及相關(guān)注意事項,需要的朋友可以參考下
    2019-09-09
  • 詳解PHP實現(xiàn)執(zhí)行定時任務

    詳解PHP實現(xiàn)執(zhí)行定時任務

    這篇文章主要介紹了PHP實現(xiàn)執(zhí)行定時任務的具體實現(xiàn)代碼,需要的朋友可以參考下
    2015-12-12
  • PHP實現(xiàn)的解漢諾塔問題算法示例

    PHP實現(xiàn)的解漢諾塔問題算法示例

    這篇文章主要介紹了PHP實現(xiàn)的解漢諾塔問題算法,簡單描述了漢諾塔問題及相應的實現(xiàn)算法,并結(jié)合實例形式給出了PHP具體操作技巧,需要的朋友可以參考下
    2018-08-08
  • php圖像驗證碼生成代碼

    php圖像驗證碼生成代碼

    這篇文章主要為大家詳細 介紹了php圖像驗證碼的生成代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • PHP 數(shù)組遍歷順序理解

    PHP 數(shù)組遍歷順序理解

    經(jīng)常會有人問我, PHP的數(shù)組, 如果用foreach來訪問, 遍歷的順序是固定的么? 以什么順序遍歷呢?
    2009-09-09
  • PHP延遲靜態(tài)綁定使用方法實例解析

    PHP延遲靜態(tài)綁定使用方法實例解析

    這篇文章主要介紹了PHP延遲靜態(tài)綁定使用方法實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • PHP使用自定義方法實現(xiàn)數(shù)組合并示例

    PHP使用自定義方法實現(xiàn)數(shù)組合并示例

    這篇文章主要介紹了PHP使用自定義方法實現(xiàn)數(shù)組合并示例,涉及php針對數(shù)組的遍歷、判斷、轉(zhuǎn)換等相關(guān)操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • zend framework多模塊多布局配置

    zend framework多模塊多布局配置

    zend framework對多模塊的支持是很好的,但是可能是由于功能太過強大的緣故,部署起來并不是很容易。
    2011-02-02
  • PHP對XML內(nèi)容進行修改和刪除實例代碼

    PHP對XML內(nèi)容進行修改和刪除實例代碼

    這篇文章給大家主要介紹了利用PHP對XML內(nèi)容進行修改和刪除的原理和方法,文中通過示例代碼介紹的很詳細,相信對大家的理解和學習很有幫助,感興趣的朋友們可以參考借鑒,下面來一起看看吧。
    2016-10-10
  • PHP針對常規(guī)模板引擎中與CSS/JSON沖突的解決方法

    PHP針對常規(guī)模板引擎中與CSS/JSON沖突的解決方法

    這篇文章主要介紹了PHP針對常規(guī)模板引擎中與CSS/JSON沖突的解決方法,非常實用的技巧,需要的朋友可以參考下
    2014-08-08

最新評論