ホームページ  >  記事  >  バックエンド開発  >  XML値を読み取るためのPHPコード(推奨)_PHPチュートリアル

XML値を読み取るためのPHPコード(推奨)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:32:46811ブラウズ

Php で XML を読み取る最も単純なケース:

XML ファイル (cy.xml) は次のとおりです:

コードをコピーします コードは次のとおりです:

<リスト>1

Php ファイル .php) を次のようにコピーします:


コードをコピーします

コードは次のとおりです:
$xml = new DOMDocument(); $xml->load('cy. xml');
foreach( $xml->getElementsByTagName('list') as $list)
{
$value = $list->firstChild->nodeValue.”
} >


cy.php の実行結果:
1
2
3

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

XML を読み取ります:

cy XML は次のとおりです:



コードをコピーします

コードは次のとおりです:

;xml> 1リスト>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 回目と同じです:
1
2
3

Php が XML を読み取る場合:

XML ファイル (cy.xml) は次のとおりです:


コードをコピー

コードは次のとおりです:




<リスト>
<リスト>
< ;main> 46 :$xml = new DOMDocument(); );
foreach($xml->getElementsByTagName('list') as $list)
{
$value = $list->firstChild->nodeValue;
;
}
?>


cy.php 出力:
1
2
3
4
5
6

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

Php は 4 番目のケースで XML を読み取ります、cy.xml は変更せず、cy.php を変更します:
XML ファイル ( CY.list>1 2 3 <リスト>5


Php ファイル (cy.php) は次のとおりです:



コードをコピーします

コードは次のとおりです:

$xml = new DOMDocument();
$xml-> ;load('cy.xml');
$main = $xml->getElementsByTagName('main');
foreach($main as $main)
{
$list = $main->getElementsByTagName( "リスト” );
foreach ( $list as $list )
{
$value = $list->firstChild-> ;nodeValue;
}
?>; ;


cy.php の出力結果:
1
2
3
4
5
6

なぜ 2 つの cy.php は異なるのに、出力結果は同じなのでしょうか。次の例を見てみましょう

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

Php は 5 番目のケースで XML を読み取り、cy.xml を変更し、4 番目のケースで cy.php を保持します:

XML ファイル (cy.xml) は次のとおりです:
コードをコピーします コードは次のとおりです:
1 ;/リスト>
2リスト>

5<リスト>6
<リスト>7 t ;9




Php ファイル (cy.php) は 4 番目のケースと同じです:



コードは次のとおりです


$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."< br />”;
} } ?>
cy.php の出力は次のとおりです:
1
2
3
4
5
6

Why
< ;m>
8

cy.php の
タグ内の内容だけが読み取られるからです。ここで説明したのは、XML では「ノード」と呼ばれます。
「ノード」の関連概念については、後で説明します。

PHP は XML ケース 6 を読み取り、再び foreach を読み取ります。
XML ファイル (cy.xm) は次のとおりです:



コードをコピーします

コードは次のとおりです:



&lt&lt;&lt;&lt&gt; &lt&gt; lt&lt; lt; lt&gt; ;
8

$xml = new DOMDocument(); ->load('cy.xml');
$main = $xml->getElementsByTagName('main');
foreach($main as $main)
{
$list = $main->getElementsByTagName( "リスト" );
foreach ( $list として )
{
$value = $list->firstChild->nodeValue;
}
}
$m = $xml->getElementsByTagName('m');
foreach( $m として $m) { $list = $m-> ;getElementsByTagName( "リスト" ); ) { $value = $list->firstChild->nodeValue;
echo $value.”
}
}


cy.php の出力結果:
1
2
3
4
5
6
7
8
9

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

Php が XML を読み取る状況 7、cy.xml はより複雑になります。

XML ファイル (cy.xml) は次のとおりです:


コードをコピーします コードは次のとおりです:



<メイン>
a
1
2
<リスト>3

<メイン>
b
<リスト>4
5
6


c
7
8
9



那么,我们 どのようにただ读出
中の值呢?代码

代码如下:
$xml = new DOMDocument(); $xml->load('cy.xml'); $main = $xml->getElementsByTagName('main');
foreach( $main as $main)
{
$list = $main->getElementsByTagName( "リスト" );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
$title = $main->getElementsByTagName( “タイトル” );
foreach ( $title as $title )
{
$value = $title->firstChild->nodeValue;
echo $value.”
”;
}
}

$m = $xml->getElementsByTagName('m');
foreach( $m as $m)
{
$list = $m->getElementsByTagName( “リスト” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
}
?>


cy.php输出力結果:
1
2
3
a
4
5
6

7
8
9

想一下、どのように出力的值?

Php读取XML再通一例子巩固一下:

XML文件(cy.xml)如下:



复制幣

代码如下:
これはテキスト 1 です。
これはテキスト 2 です。
これはテキスト 3 です。


これはテキスト 4 です。
これはテキスト 5 です。
これはテキスト 6 です。




Php文件(cy.php)如下:



复制代码

代码如下:
$xml = new DOMDocument(); //DOMDocument の構築 $xml->load('cy.xml'); //Php は、读取が必要な xml 文書の位置を指定します $LevelOne = $xml->getElementsByTagName('LevelOne');//照会名を取得して、すべての节点の集合を返します、ここにはありません、LevelOne は意図的ではありません… 。
$LevelOne = $xml->getElementsByTagName('LevelOne')->item(0);//第一レベルワンのポイント内の内容を返します
$LevelTwo = $LevelOne->getElementsByTagName('LevelTwo'); //名前照会を取得し、すべてのLevelTwoを返します
foreach ( $LevelTwo as $Content )//すべてのLevelTwoを循環して、循環エリアでLevelTwo用のコンテンツを表示します
{
$LevelThree = $Content->getElementsByTagName( 'LevelThree');//すべてLevelThree を返します
foreach ( $LevelThree as $Concert )
{
$name = $Concert->nodeName;//节点名
$value = $Concert->nodeValue;//节点值
$id = $Concert->getAttribute('id');//”id” プロパティ值
echo $name.”
”;
echo $value.”
”;
echo $id.”
”;
}
}
?>


$LevelOne = $xml->getElementsByTagName('LevelOne') を使用してノードを取得する場合、$LevelOne = $xml->getElementsByTagName('LevelOne') であるため、foreach ループを使用して内部のコンテンツを読み取る必要があります。 ' ) は、特定のノードではなくコレクションを返します - LevelOne というノードが 1 つしかないにもかかわらず...
$LevelOne = $xml->getElementsByTagName('LevelOne')->item(0) を使用する場合この方法でノードを取得すると、特定のノードが返されるため、$LevelOne->xxxxxx によってコンテンツを直接読み取ることができます。

PHP で XML を読み取るための非常に簡単な方法が提供されました:

XML ファイル (cy.xml) は次のとおりです:
コードをコピーします コードは次のとおりです:



czbin xml セクション ;
XML 関連記事

czbin php セクション ;describe>php 関連記事
>czbin ajax セクション ajax 関連記事



Php ファイル (cy.php) は次のとおりです:



コードは次のとおりです:


$xml = simplexml_load_file('sxml.xml');
$part = $xml->site->part; ( $part as $content )
{
echo $content['id'].”
”;
echo $content->title.”
”; ]. "
"; echo $content->describe."
" ?> 1
czbin XML セクション
a
xml関連記事
2
czbin phpセクション

php関連記事
3
czbin ajaxセクション
c
ajax関連記事

いかがでしょうか?本当に簡単です!


http://www.bkjia.com/PHPjc/322729.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/322729.html

技術記事

Php で XML を読み取る最も単純なケース: XML ファイル (cy.xml) は次のとおりです。 次のようにコードをコピーします: ?xml version=”1.0″ encoding=”gb2312″? xml list1/list list2/list list3/list /xml Php ファイル...



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。