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> 4
6 :$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 です。
レベル 2>
これはテキスト 4 です。
これはテキスト 5 です。
これはテキスト 6 です。
レベル 2>
レベルワン>
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
true
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 ファイル...