ホームページ >バックエンド開発 >PHPチュートリアル >PHPのXML操作インスタンスメソッド

PHPのXML操作インスタンスメソッド

小云云
小云云オリジナル
2018-03-10 11:25:491213ブラウズ


Xml は主にデータを保存するために使用されます。この記事では主に PHP での XML 操作のサンプル メソッドを分析し、皆様のお役に立てれば幸いです。

テキスト

入門ケース

<?xml version="1.0" encoding="utf-8" ?><stu><name>draymonder</name></stu>

特殊文字の処理

<imgs><![CDATA[$<$$#@>]]></imgs>CDATA的基本语法<![CDATA[内容]]>面试题: 如何使用xml文件来传递,保存一个图片
答: 使用程序先读入到内存
然后保存到xml的<![CDATA[文件内容]]>中

xmlのPI処理命令

通过PI指令来引入CSS样式文件:

PI指令的弊端:
    只对英文的标签起作用,对中文的标签不起作用。 

//和html引用css大同小异<?xml-stylesheet  type="text/css" href="txt.css"?>  //txt.css内容
name{
    background-color:red;
}

age{
    background-color:green;
}

dtd(文書型定義

xmlファイルを制約し、xmlセマンティクスを合法にするため
dtdの詳細な説明

基本语法
<!ELEMENT 元素名 类型> //元素约束<!ATTLIST 元素名> //属性约束<!ENTITY 元素名 "引用内容"> //用元素名来表示引用的内容

) phpDom クイックスタート

$xmldoc = new DomDocument();$xmldoc->load("test.xml");//读文件的时候用load方法//读字符串的时候用 loadXML方法 //eg: $xmldoc->loadXML(&#39;<root><node/></root>&#39;);//找到root节点$nodeLists=$xmldoc->getElementsByTagName("stu"); //返回的是结果集合 $nodeList = $nodeLists->item(0); 
//上面直接就已经找到root节点了//新增name节点$node_name = $xmldoc->createElement("name");$node_name->nodeValue = "我喜欢你";//新增age节点$node_age = $xmldoc->createElement("age");$node_age->nodeValue = "20";//root节点下挂载 name节点和age节点$root->appendChild($node_name); 
$root->appendChild($node_age);//内存中修改完毕以后 还要保存文件内容$xmldoc->save("test.xml");//删除操作$test->parentNode->removeChild($test);//更新操作找到那个需要修改的节点 直接改 nodeValue属性就可以//设置属性setAttribute (string $name ,string $value) 
添加属性为$name 属性值$value的属性

xpath

php dom テクノロジーは層を越えて取り出すことができますが、階層関係を維持できない問題は xpath を使用することで解決できます

这种技术相当于是知道节点所在的层级,然后通过层级关系来找相应的节点$xmldoc = new DOMDocument();$xmldoc->load("test.xml");$xpath = new DOMXPath($xmldoc);$node_list = $xpath->query("/stu");
echo $node_list->length;

SimpleXML

XML ファイルをオブジェクト指向で操作する

//装载文件$stu = simplexml_load_file("test.xml");$name  = $stu->name;

var_dump($name);foreach ($name as $value) {    echo "$value <br>";
}//还有装载方式从DOM对象simplexml_import_dom//装载字符串simplexml_load_string

ハイパーリンクの統一オープン

<head>
    <base target="_blank"></head>

関連する推奨事項:

XML操作のサンプルコードの詳細な紹介概要

PHPのXML操作(読み取り)カプセル化クラスインスタンス

PHPで実装されたXML操作クラス[XMLライブラリ]

以上がPHPのXML操作インスタンスメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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