首页 > 编程知识 正文

如何在php中回显xml(php回文数)

时间:2023-12-11 12:29:16 阅读:314223 作者:PVGI

本文目录一览:

PHP怎么解析微信支付结果返回的xml

php解析xml报文的方法是DOMDocument:

解析方法如下:

$xmlstring = XML

?xml version='1.0'?

document

cmd attr='default'login/cmd

loginimdonkey/login

/document

XML;

$dom = new DOMDocument();

$dom-loadXML($xmlstring);

print_r(getArray($dom-documentElement));

function getArray($node) {

$array = false;

if ($node-hasAttributes()) {

foreach ($node-attributes as $attr) {

$array[$attr-nodeName] = $attr-nodeValue;

}

}

if ($node-hasChildNodes()) {

if ($node-childNodes-length == 1) {

$array[$node-firstChild-nodeName] = getArray($node-firstChild);

} else {

foreach ($node-childNodes as $childNode) {

if ($childNode-nodeType != XML_TEXT_NODE) {

$array[$childNode-nodeName][] = getArray($childNode);

}

}

}

} else {

return $node-nodeValue;

}

return $array;

}

PHP显示XML的问题

$xmlDoc = new DOMDocument ();

$xmlDoc-load ( 'xml.xml' );

$utdm = $xmlDoc-getElementsByTagName ( 'post' ); //获取

foreach ( $utdm as $is ) { //判断id=?

$id = $is-getAttribute ( 'id' );

if ($id == "new0") {

$nodeList = $is-getElementsByTagName('title');

echo "ok" . "br";

foreach ( $nodeList as $n ) {

echo "id: " . $id . "br";

echo "name: " . $n-nodeValue . "brbr";

}

break; //如果判断成功了就停止了.不用再判断了

} else {

echo "no" . "br";

}

}

你的nodelist是整个文档中的名字是title的节点的集合,而实际上你需要的nodeList是id = new0 的节点的中的名字是title的节点的集合,上面的代码可以实现

php输出xml内容

PHP生成XML的方法很多,这里演示最基本,最简单的字符串构造法。就是使用字符串构造或者拼接成xml数据格式,然后输出或者生成xml文件。

?php

    $data = array(

        array(

        'title'   = 'baidu',

        'country' = 'china',

        'name'    = '百度',

        ),

        array(

        'title'   = 'google',

        'country' = 'usa',

        'name'    = '谷歌',

        )

    );

    

     //构造xml数据格式

    $xml = "?xml version="1.0" encoding="utf-8"?n";

    $xml .= "datan";

    foreach ($data as $itm) {

        //循环构造xml单项

        $item = "itemn";

        $item .= "title" . $itm['title'] . "/titlen";

        $item .= "country" . $itm['country'] . "/countryn";

        $item .= " name" . $itm['name'] . "/namen";

        $item .= "/itemn";

        $xml .=$item;

    }

     

    $xml .= "/datan";

     

    //输出xml数据

    echo $xml;

 

?

生成的数据格式如下:

怎样通过php程序返回xml格式的数据

无论是返回  json 还是 xml 数据,区别仅在于数据的格式。

返回 xml 格式数据示例如下:

?php

//指示返回数据格式为 xml

header('Content-Type: text/xml');

?

?xml version="1.0" encoding="utf-8" ?

?php

//构造 xml 

//$xmldata = "  

//    data  

//       site_name$site[name]/site_name

//       ........   

//    data";

echo $xmldata;

?

php 怎样查看返回的xml数据

php返回xml,首先封装好xml数据格式,然后return即可。示例如下:

?php

//name

$name="zhidao";

//age

$age=10;

//构造xml数据格式

$xml = XML

?xml version="1.0" encoding="utf-8"?

baidu

name {$name} /name

age{$age}/age

/baidu

XML;

return $xml;

?

php webservice 返回 xml 格式保存及调用

写个xml生成类

将数组传进去

生成xml文件就可以

送你个 改改

?php

class xml {

private $data;

private $encoding='utf-8'; //XML文件编码

private $root='yeedao';

/*---------------------------------------

* 实例化时传递参数

* $data array 执行编译的数据

*---------------------------------------*/

public function __construct($data=''){

$this-data=$data;

if( $this-data=='' ){

exit('请传递参数');

}

}

public function __toString(){

return $this-get_xml();

}

/*----------------------------------------

* 生成XML

*----------------------------------------*/

public function get_xml() {

$xml = "?xml version="1.0" encoding="{$this-encoding}"?";

$xml.= "{$this-root}";

$xml.= $this-make_xmk($this-data);

$xml.= "/{$this-root}";

return $xml;

}

/*-------------------------------------

* 将数组或对象转换成XML-DOM格式

*-------------------------------------*/

protected function make_xmk($data) {

$xml = '';

foreach ($data as $key = $value) {

//如果$key是一个数字,前面加item

(is_numeric($key)) ? $key='item'.$key : $key ;

$xml.="{$key}";

//如果遍历的$value还是一个array,回调

$xml.= ( is_array($value) || is_object($value)) ? $this-make_xmk($value) : $value;

$xml.="/{$key}";

}

return $xml;

}

/*-----------------------------------------

* 创建XML文件,成功后返回文件路径

* $path 文件路径

* $filename 文件名

*-----------------------------------------*/

public function touch_xml($path='',$filename=''){

$path=$_SERVER['DOCUMENT_ROOT'].$path;

if($path{strlen($path)-1} != '/')$path.='/';

if(!is_dir($path))return '不是一个目录';

$filename=$path.$filename;

touch ($filename);

chmod($filename,0777);

if(is_writeable($filename)){

if($handle=fopen($filename,'w+')){

if(fwrite($handle,$this-get_xml()) === false){

return '文件'.$filename.'写入失败';

}else{

return $filename; //返回路径

}

}else{

return '不能打开文件'.$filename;

}

}else{

return '文件'.$filename.'不可写';

}

}

}

?

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。