この記事では主に、DOMDocument に基づいて PHP が XML を解析して生成する方法を紹介します。DOMDocument を使用して XML ノードを解析し、XML ファイルを生成するための PHP のさまざまな一般的な操作テクニックを、具体的な例に基づいて分析します。 1 . xml
DOMDocument操作xmlの生成は、以前のsimplexmlよりも少し複雑です。原理は何にせよ同じです。 DOMDocument 内のノードと属性を枝と葉とみなすと、DOMDocument の DOMDocument がルートとなり、ノードと属性はすべてこのオブジェクトの下にマウントされます。以下のコードを見れば一目瞭然です
<?php $doc=new DOMDocument('1.0','utf-8'); //创建根节点 $root=$doc->createElement("StudentInfo"); //创建第一个子节点 $item=$doc->createElement("Item"); $name=$doc->createElement("name","蔡依林"); $studentnum=$doc->createElement("num","2009010502"); //创建属性(phpdom可以把任何元素当做子节点) $id=$doc->createAttribute("id"); $value=$doc->createTextNode('1'); $id->appendChild($value); //在父节点下面加入子节点 $item->appendChild($name); $item->appendChild($studentnum); $item->appendChild($id); $item2=$doc->createElement("Item"); $name2=$doc->createElement("name","潘玮柏"); $studentnum2=$doc->createElement("num","2009010505"); $id2=$doc->createAttribute("id"); $value2=$doc->createTextNode('2'); $id2->appendChild($value2); $item2->appendChild($name2); $item2->appendChild($studentnum2); $item2->appendChild($id2); $root->appendChild($item); $root->appendChild($item2); //把根节点挂载在DOMDocument对象 $doc->appendChild($root); header("Content-type: text/xml"); //在页面上输出xml echo $doc->saveXML(); //将xml保存成文件 $doc->save("stu.xml"); ?>
実際、DOMDocumentは最初にノードまたは属性を生成し、最後にaddchild
2を通じてxmlの階層関係が反映されます<?php $doc=new DOMDocument(); //如果是解析xml字符串则使用loadXML $doc->load('stu.xml'); //取得根节点 $root=$doc->documentElement; //通过标记的名字取得对应的元素 $items=$root->getElementsByTagName('Item'); foreach($items as $key=>$val){ // echo count($val->attributes); //id是第一个属性所以使用item(0),nodeValue用来取得节点的值 echo $val->attributes->item(0)->name.":".$val->attributes->item(0)->nodeValue." "; foreach($val->getElementsByTagName('name') as $key2=>$val2){ echo $val2->nodeValue." "; } foreach($val->getElementsByTagName('num') as $key3=>$val4){ echo $val4->nodeValue."</br>"; } } ?>
。
分析 重要なことは、getElementsByTagName メソッド、属性、項目が XML 解析の焦点であることを理解することです。他のものはすべて非常に単純です。解析される内容を確認するだけです一般的に言えば、simplexml よりも少し面倒ですが、プログラマーとしてはまだ許容範囲です。
関連する推奨事項:PHP が
DOMDocument を使用して xml
PHP XML 操作クラスを操作する方法の詳細な説明
PHP in
DOMDocument xml保存時の漢字文字化け問題の解決策
以上がPHP が DOMDocument に基づいて XML を解析および生成する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。