Home  >  Article  >  Backend Development  >  XML operation instance method in php

XML operation instance method in php

小云云
小云云Original
2018-03-10 11:25:491172browse


Xml is mostly used to store data. This article mainly analyzes the XML operation example methods in PHP, hoping to help everyone.

Text

Getting Started Case

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

Processing Special Characters

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

Xml PI Processing Instructions

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

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

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

age{
    background-color:green;
}

dtd (Document Type Definition

In order to constrain xml files and make xml semantics legal
dtd detailed explanation

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

phpDom quick start

$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 technology can be taken out across layers , but the hierarchical relationship cannot be maintained. Using xpath can solve the problem of

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

SimpleXML

Manipulating xml files in an object-oriented manner

//装载文件$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

The problem of unified opening of hyperlinks

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

Related recommendations:

Sample code that introduces XML operation summary in detail

XML operation (reading) encapsulation class instance of php

XML operation class implemented by PHP [XML Library]

The above is the detailed content of XML operation instance method in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn