很多站长朋友们都不太清楚phpxml格式转,今天小编就来给大家整理phpxml格式转,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP xml转换成数组 2、 PHP中数组转换为XML格式 3、 php中如何把XML转换成字符串 4、 php把xml转换为字符串 5、 如何将php返回的xml转换成json数据? 6、 在PHP中将数组转换为XML格式 PHP xml转换成数组xml转array方法没错,只是xml中有三个<list>,而数组中却不能出现三个$arr['list'],所以这个方法自动把三个<list>中的内容放进了一个二维数组中。
可以尝试直接取$arr['list'],取出结果应该就是 Array ( [0] => 1 [1] => 2 [2] => 3 ) 了。
PHP中数组转换为XML格式最近公司要做一个API接口 输出格式要有JSON与XML格式 在PHP中 输入JSON直接json_encode就可以 但输出XML没有提供函数 于是决定自己写一个
<?php
/**
* 数组转XML类库
*
* @filesource ArrayToXML php
* @author genolf
* @version / /
*
* 使用说明
* echo ArrayToXml::parse($array root );
*/
class ArrayToXML {
//文档对象
private static $doc = NULL;
//版本号
private static $version = ;
/**
* 初始化文档版本及编码
*
* @param string $version 版本号
* @param string $encoding XML编码
*/
public static function init($version $encoding) {
self::$doc = new DomDocument($version $encoding);
self::$doc >formatOutput = true;
}
/**
* 转换数组到XML
*
* @param array $array 要转换的数组
* @param string $rootName 要节点名称
* @param string $version 版本号
* @param string $encoding XML编码
*
* @return string
*/
public static function parse($array $rootName = root $version = $encoding = UTF ) {
self::init($version $encoding);
//转换
$node = self::convert($array $rootName);
self::$doc >appendChild($node);
return self::$doc >saveXML();
}
/**
* 递归转换
*
* @param array $array 数组
* @param string $nodeName 节点名称
*
* @return object (DOMElement)
*/
private static function convert($array $nodeName) {
if (!is_array($array)) return false;
//创建父节点
$node = self::createNode($nodeName);
//循环数组
foreach ($array as $key => $value) {
$element = self::createNode($key);
//如果不是数组 则创建节点的值
if (!is_array($value)) {
$element >appendChild(self::createValue($value));
$node >appendChild($element);
} else {
//如果是数组 则递归
$node >appendChild(self::convert($value $key $element));
}
}
return $node;
}
private static function createNode($name) {
$node = NULL;
//如果是字符串 则创建节点
if (!is_numeric($name)) {
$node = self::$doc >createElement($name);
} else {
//如果是数字 则创建默认item节点
$node = self::$doc >createElement( item );
}
return $node;
}
/**
* 创建文本节点
*
* @param string || bool || integer $value
*
* @return object (DOMText || DOMCDATASection );
*/
private static function createValue($value) {
$textNode = NULL;
//如果是bool型 则转换为字符串
if (true === $value || false === $value) {
$textNode = self::$doc >createTextNode($value ? true : false );
} else {
//如果含有HTML标签 则创建CDATA节点
if (strpos($value < ) > ) {
$textNode = self::$doc >createCDATASection($value);
} else {
$textNode = self::$doc >createTextNode($value);
}
}
return $textNode;
}
lishixinzhi/Article/program/PHP/201311/20849
php中如何把XML转换成字符串比如
<page>
<a>1aasa</a>
<b>asasa</b>
</page>
经处理后变成
<page>
<a>1aasa</a>
</page>
如果是这样,那就太简单了,几句话解决这个问题.
以下给你一个例子,很简单,本人以前帮一个朋友做的,你自己对照修改正则就行了.
<?
/*
$string = "<e>
<key>__ Transformations __</key>
<en>__ Transformations __</en>
<zh>__ 变形 __</zh>
<fr>__ Transformations __</fr>
<ja>__ 変形 __</ja>
<de>__ Transformationen __</de>
<es>__ de las transformaciones del __</es>
<it>__ Trasformazioni __</it>
<ko>__??__</ko>
</e>
<e>
<key>__ Type On __</key>
<en>__ Type On __</en>
<zh>__ 类型上 __</zh>
<fr>__ Type activé __</fr>
<ja>__ タイプ __</ja>
<de>__ Typ An __</de>
<es>__ Type On __</es>
<it>__ Testo Sovrapposta __</it>
<ko>__?__??</ko>
</e>";
*/
$string=$_REQUEST["tags_area"];
$patterns[0] = "/(\<en\>.*?\<\/en\>)/";
$patterns[1] = "/(\<fr\>.*?\<\/fr\>)/";
$patterns[2] = "/(\<ja\>.*?\<\/ja\>)/";
$patterns[3] = "/(\<de\>.*?\<\/de\>)/";
$patterns[4] = "/(\<es\>.*?\<\/es\>)/";
$patterns[5] = "/(\<it\>.*?\<\/it\>)/";
$patterns[6] = "/(\<ko\>.*?\<\/ko\>)/";
$replacements[6] = "";
$replacements[5] = "";
$replacements[4] = "";
$replacements[3] = "";
$replacements[2] = "";
$replacements[1] = "";
$replacements[0] = "";
$resu=str_replace("\r\n\r\n\r\n\r\n\r\n\r\n","\r\n",preg_replace($patterns, $replacements, $string));
print "<textarea cols=150 rows=25 >".$resu."</textarea>";
?>
php把xml转换为字符串楼主我教你吧,首先xml文件里的内容为
<?xml version="1.0" encoding="ISO-8859-1"?>
<content
<name>lishi</name>
<age>17</age>
</content>
读取xml文件内容
$str=file_get_contents($xml);$xml为xml文件路径地址
将读取的字符串内容转化为xml对象
$obj=simplexml_load_string($str)
操作对象里的数据
$obj->name="lishi111";
$obj->age=77;
拼接新的字符串
$strNew="<?xml version='1.0' encoding='ISO-8859-1'?>";
$str.="<content><name>".$obj->name."</name";
$str.="<age>".$obj->age."</age></content>";
将新的字符串写入xml文件
file_put_content($xml,$strNew);
最后一步拿分来吧,哈哈哈哈。有问题继续。。。
如何将php返回的xml转换成json数据?如果你使用 curl 获取的 xml data
simplexml_load_string() 函数把 XML 字符串载入对象中。
$xml = simplexml_load_string($xmlStr);
$json = json_encode($xml);
如果是直接获取 URL 数据的话
$xml = simplexml_load_file($data);
$json = json_encode($xml);
在PHP中将数组转换为XML格式php数组格式:
Array to XML:
通过使用PHP的扩展SimpleXML,我们将uses_array转换为xml格式。
保存成功的XML文件:
The users.xml file contains the following xml.
附注:
Insert XML Into Databse
If you want to save the XML into the database, then replace the $xml_file variable line with the following code line. Now you can insert $xml_file variable into the database.
关于phpxml格式转的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于phpxml格式转 如何将php转格式的详细内容...