php与xml
Ⅰ 请教,php使用xml
我觉得这应该是文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。Document Object Model的历史可以追溯至1990年代后期微软与Netscape的“浏览器大战”,双方为了在JavaScript与JScript一决生死,于是大规模的赋予浏览器强大的功能。微软在网页技术上加入了不少专属事物,计有VBScript、ActiveX、以及微软自家的DHTML格式等,使不少网页使用非微软平台及浏览器无法正常显示。DOM即是当时蕴酿出来的杰作。
XML DOM 是:[1]
用于 XML 的标准对象模型
用于 XML 的标准编程接口
中立于平台和语言
W3C 标准
XML DOM 定义了所有 XML 元素的对象和属性,以及访问它们的方法(接口)。
换句话说:XML DOM 是用于获取、更改、添加或删除 XML 元素的标准。
SimpleXML 函数允许您把 XML 转换为对象。
通过普通的属性选择器或数组迭代器,可以处理这个对象,就像处理任何其他对象一样。
其中的一些函数需要最新的 PHP 版本。。如果还有不懂的可以上后盾人看看相关的教材,多看几遍不懂的不就少了。希望对你有帮助。
Ⅱ php如何调用xml文件
推荐用simpleXML处理xml,举例如下:
$xml=simplexml_load_file('http://www.w3schools.com/xml/plant_catalog.xml');
foreach($xml->PLANTas$plantNode){
echo$plantNode->COMMON,'-',$plantNode->PRICE," ";
}
Ⅲ 如何通过PHP生成和获取XML格式数据
1自己拼,XML编码
<?php
header('Content-type:text/xml');
echo "<?xml version='1.0' encoding='utf-8'>";
echo "<book>";
echo "<PHP>";
echo "<name>PHP程序开发范例宝典</name>";
echo "<price 单位='元/本'>89.00</price>";
echo "<date>2007-09-01</date>";
echo "</PHP>";
echo "</book>";
?>
拼接的效果
Ⅳ php跟xml有什么关系
PHP属于服务端网络编程语言,可以用于创建Web应用程序。
XML属于一种标记语言,通常用于当作数据存储的载体。
可以这么说,使用PHP可以操作XML进行读写操作,XML是PHP操作的对象(之一)。
Ⅳ PHP和XML 交互的 多选怎么实现的
不是很明白你的意思,不过PHP的数组生成xml可以用下面这个函数:<?php
//数组转换为xml
function xml_encode($data, $encoding='utf-8', $root="cpweb") {
$xml = '<?xml version="1.0" encoding="' . $encoding . '"?>';
$xml.= '<' . $root . '>';
if (is_object($data)) {
$data = get_object_vars($data);
}
foreach ($data as $key => $val) {
is_numeric($key) && $key = "item id=\"$key\"";
$xml.="<$key>";
$xml.= ( is_array($val) || is_object($val)) ? data_to_xml($val) : $val;
list($key, ) = explode(' ', $key);
$xml.="</$key>";
}
$xml.= '</' . $root . '>';
return $xml;
}?>
Ⅵ 如何在php文件里写xml
php文件里写xml方法:
1、Xml代码
<?php
$data_array=array(
array(
'title'=>'title1',
'content'=>'content1',
'pubdate'=>'2009-10-11',
),
array(
'title'=>'title2',
'content'=>'content2',
'pubdate'=>'2009-11-11',
)
);
//属性数组
$attribute_array=array(
'title'=>array(
'size'=>1
)
);
$string=<<<XML
<?xmlversion='1.0'encoding='utf-8'?>
<article>
</article>
XML;
$xml=simplexml_load_string($string);
foreach($data_arrayas$data){
$item=$xml->addChild('item');
if(is_array($data)){
foreach($dataas$key=>$row){
$node=$item->addChild($key,$row);
if(isset($attribute_array[$key])&&is_array($attribute_array[$key]))
{
foreach($attribute_array[$key]as$akey=>$aval){
//设置属性值
$node->addAttribute($akey,$aval);
}
}
}
}
}
echo$xml->asXML();
?>
Ⅶ php+xml有什么用
这个很有用,比如开发一个接口,这个接口互相传送的数据可以用xml格式的数据。 例如新浪微波提供的接口返回形式就有xml格式的数据。 还有比如php和其他语言(c++)互相通信 ,也是选择xml格式的数据进行通信。这样我们获取了xml格式的数据后呢,当然还需要php进行解析 分离 将这些xml数据展示得到我们想要的网页上或者编程自己想要的格式保存到自己的数据库。等等吧! 应用很多对我一般都是用到这些了。
Ⅷ PHP读取XML数据
编码问题,function
characterData改成如下
function
characterData($parser_instance,
$xml_data)
{
global
$name,$position;
$xml_data=iconv("utf-8","gb2312",$xml_data);//转换成gb2312
if($position)
echo
$xml_data."<br>";
if($name)
echo
$xml_data."<br>";
}
显示的那个页面也要有charset=gb2312
Ⅸ php 读取xml 用哪种方法好
1、首先我们做一个简单的xml文件
<?xml version="1.0 encoding="UTF-8"?><humans><zhangying><name>张映</name><sex>男</sex><old>28</old></zhangying><tank><name>tank</name><sex>男</sex><old>28</old></tank></humans>
2、
php读取xml的几种方法:
1)DOMDocument读取xml
<?php $doc = new DOMDocument(); $doc->load('person.xml'); //读取xml文件 $humans = $doc->getElementsByTagName( "humans" ); //取得humans标签的对象数组 foreach( $humans as $human ) { $names = $human->getElementsByTagName( "name" ); //取得name的标签的对象数组 $name = $names->item(0)->nodeValue; //取得node中的值,如<name> </name> $sexs = $human->getElementsByTagName( "sex" ); $sex = $sexs->item(0)->nodeValue; $olds = $human->getElementsByTagName( "old" ); $old = $olds->item(0)->nodeValue; echo "$name - $sex - $old\n"; } ?>
2)simplexml读取xml
<?php $xml_array=simplexml_load_file('person.xml'); //将XML中的数据,读取到数组对象中 foreach($xml_array as $tmp){ echo $tmp->name."-".$tmp->sex."-".$tmp->old."<br>"; } ?>
3)用php正则表达式来记取数据
<?php $xml = ""; $f = fopen('person.xml', 'r'); while( $data = fread( $f, 4096 ) ) { $xml .= $data; } fclose( $f ); // 上面读取数据 preg_match_all( "/\<humans\>(.*?)\<\/humans\>/s", $xml, $humans ); //匹配最外层标签里面的内容 foreach( $humans[1] as $k=>$human ) { preg_match_all( "/\<name\>(.*?)\<\/name\>/", $human, $name ); //匹配出名字 preg_match_all( "/\<sex\>(.*?)\<\/sex\>/", $human, $sex ); //匹配出性别 preg_match_all( "/\<old\>(.*?)\<\/old\>/", $human, $old ); //匹配出年龄 } foreach($name[1] as $key=>$val){ echo $val." - ".$sex[$key][1]." - ".$old[$key][1]."<br>" ; } ?>
4)xmlreader来读取xml数据
<?php $reader = new XMLReader(); $reader->open('person.xml'); //读取xml数据 $i=1; while ($reader->read()) { //是否读取 if ($reader->nodeType == XMLReader::TEXT) { //判断node类型 if($i%3){ echo $reader->value; //取得node的值 }else{ echo $reader->value."<br>" ; } $i++; } } ?>
Ⅹ PHP与xml
基本上没有必要,学习html就够了