`
myfreespace
  • 浏览: 230636 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

php生成xml 和转换

阅读更多

php生成xml就像树一样,逐个添加节点,可以在一个父节点下添加多个子节点, function madexml()

	{
		//获取模板信息
		$strTempInfo = $this->modelCmsObj->getTemplate('2007');
		$arrTemp = explode("#",$strTempInfo);
		array_shift($arrTemp);
		$arrContents = array();
		foreach($arrTemp as $k=>$v)
		{
			$arrContents[$k]=explode(",",$v);
		}
		//解析为xml文件
		$objDom = new DOMDocument("1.0");
		header("Content-Type: text/plain"); 
		//添加元素和文本节点
		$root = $objDom->createElement("recommend");
		$objDom->appendChild($root);
		foreach($arrContents as $k=>$v)
		{
		$item = $objDom->createElement("entry");
		$root->appendChild($item);
		$nextitem1 = $objDom->createElement("simgurl");
		$nextitem2 = $objDom->createElement("imgurl");
		$nextitem3 = $objDom->createElement("fileurl");
		$item->appendChild($nextitem1);
		$item->appendChild($nextitem2);
		$item->appendChild($nextitem3);
		$text1 = $objDom->createTextNode($v[0]);
		$text = $objDom->createTextNode($v[1]);
		$text2 = $objDom->createTextNode($v[2]);
		$nextitem2->appendChild($text1);
		$nextitem3->appendChild($text2);
		$nextitem1->appendChild($text);
		}

		echo $objDom->saveXML();
	}
 

simplexml_load_string把xml串转化为字符串

<?php
$string = <<<XML//声明xml文档
<?xml version='1.0'?> 
<document>
<title>Forty What?</title>
<from>Joe</from>
<to>Jane</to>
<body>
  I know that's the answer -- but what's the question?
</body>
</document>
XML;

$xml = simplexml_load_string($string);

var_dump($xml);
?> 


This script will display: 

SimpleXMLElement Object
(
  [title] => Forty What?
  [from] => Joe
  [to] => Jane
  [body] =>
   I know that's the answer -- but what's the question?
)
 

 如果想把xml转换为数组,先转换为字符串含有键值的字符串,然后再进行循环就可以成为数组了,

	/**
	 * xml转换为数组
	 * @param unknown_type $xml
	 */
	private function xml_to_array($xml)
	{
			  $array = (array)(simplexml_load_string($xml,'SimpleXMLElement', LIBXML_NOCDATA));
			  foreach ($array as $key=>$item){
				$array[$key]  = $this->struct_to_array((array)$item);
			  }
			  return $array;
	}
	
	private	function struct_to_array($item) {
			  if(!is_string($item)) {
				$item = (array)$item;
				foreach ($item as $key=>$val){
				  $item[$key]  =  self::struct_to_array($val);
				}
			  }
			  return $item;
	}
 
1
0
分享到:
评论

相关推荐

    php加载和生成json和生成xml文件,并带有ajax分页效果,带图带数据库

    在PHP生成JSON时,首先需要创建一个数组或对象,然后使用`json_encode()`将其转换为JSON字符串。例如: ```php $data = array('name' =&gt; 'John', 'age' =&gt; 30); $json = json_encode($data); echo $json; // 输出:...

    PHP中的生成XML文件的4种方法

    在PHP中,生成XML文件是常见的数据序列化和交换任务,尤其在Web服务和数据存储中扮演着重要角色。XML(可扩展标记语言)是一种结构化的数据格式,它允许我们以自定义的方式组织数据。以下是PHP中生成XML文件的四种...

    数据库数据生成xml

    数据库数据生成XML是一种常见的数据转换方法,用于在不同的系统间传递和交换信息。XML(Extensible Markup Language)是一种标记语言,它的设计目标是传输和存储数据,而不是显示数据。XML的结构化特性使得它成为跨...

    php从数据库中读取数据生成xml

    ### PHP从数据库中读取数据生成XML的知识点详解 #### 一、PHP连接MySQL数据库 在给定的脚本中,我们首先看到的是通过PHP连接MySQL数据库的操作。这部分代码使用了较旧的`mysql_`扩展,而不是推荐的`mysqli_`或`PDO...

    crxml:一个用于生成xml格式数据php类库,支持生成rss.zip

    - **简洁易用**:`crxml`的API设计直观,使得生成XML和RSS Feed的代码简洁明了。 - **灵活性**:可以根据需要自定义XML结构,适应各种数据表示需求。 - **效率**:相比使用DOM或SimpleXML等其他PHP XML处理方式,`...

    PHP中的生成XML文件的4种方法分享

    以下是从标题和描述中提取的四种PHP生成XML文件的方法: 1. **直接生成字符串**: 这是最基础的方法,通过构建字符串来生成XML。首先定义一个数据数组,然后逐个遍历数组,将数据转换成XML结构的字符串。在示例...

    php生成json和xml

    在PHP中,我们可以使用`DOMDocument`类来创建和操作XML,以及`XMLWriter`类来生成XML流。 创建一个简单的XML文档如下: ```php $xmlDoc = new DOMDocument('1.0', 'UTF-8'); $data = [ 'person' =&gt; [ 'name' =&gt; ...

    PHP 数组与Xml转换

    $stp = '&lt;item&gt;&lt;title&gt;PHP数组生成Xml格式数据.&lt;/title&gt;&lt;link&gt;http://www.111cn.net&lt;/link&gt;&lt;data&gt;2008-02-28&lt;/data&gt;&lt;/item&gt;'; // 循环生成多个 &lt;item&gt; 元素 for ($i = 1; $i ; $i++) { $stp .= $stp; } $foot = '...

    微信公众号支付签名生成工具类和xml转换工具类和双向验证请求工具类

    微信公众号支付签名生成工具类和xml和map转换工具类和双向验证请求工具类

    PHP文本的读取转换为XML

    生成XML后,我们可以通过创建一个DOMDocument对象来处理它,以确保其结构正确,并可以输出到浏览器: ```php $xml = new DOMDocument(); $xml-&gt;loadXML('&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;logs&gt;' . $xmlData...

    PHP+XML生成家谱树

    总的来说,这个项目利用了PHP处理XML数据,结合前端的Flash技术,实现了家谱树的动态生成和展示。用户可以根据不同的URL参数来查看不同的家族分支,而PHP脚本则负责在后台完成数据的解析和转换工作。这样的解决方案...

    PHP实现XML与数据格式进行转换类

    在IT行业中,XML(eXtensible Markup Language)是一种用于标记数据的标准格式,它具有良好的结构化和可读性,广泛应用于数据交换、配置...对于给定的类文件,通过阅读和测试,你可以更好地了解XML转换的具体实现细节。

    一个将数组转换为xml简单的PHP类

    但在这个简单的PHP类中,我们可以期待一个快速且易于使用的解决方案,适用于大多数基本的数组到XML转换需求。 总的来说,了解并能够灵活运用这个PHP类,不仅可以提高开发效率,还能帮助理解PHP如何处理XML数据,...

    PHP100视频教程90:PHP DOM 创建生成多功能 XML文件

    **PHP100视频教程90:PHP DOM 创建生成多功能 XML文件** 在这一教程中,我们将深入探讨如何使用PHP的DOM扩展来创建和操作XML文件。XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,它具有...

    php+xml php+ajax php+mysql

    PHP提供了DOM、SimpleXML、XMLReader和XMLWriter等库来解析和生成XML文档。 **PHP与XML的结合** 通过PHP的XML处理函数,我们可以读取、解析XML文件,提取所需数据,然后进行处理或展示。例如,使用SimpleXML库可以...

    PHP读取XML显示到表格

    综上所述,"PHP读取XML显示到表格"这一技术涵盖了PHP的XML解析、HTML表格生成以及可能涉及的数据处理和样式设计。在阅读了相关博客(如提供的链接)后,开发者可以进一步了解并实践这一过程,提升自己的PHP与XML应用...

    php 与XML的例子

    这个例子展示了如何使用SimpleXMLElement将XML字符串转换为PHP对象,然后遍历并打印出书籍的信息。每个`&lt;book&gt;`元素都被视为一个对象,我们可以直接访问其属性(如'title')和子元素(如'author'和'year')。 此外...

    PHP 的Array2xml

    在实际使用中,开发者可以通过实例化Array2xml类,传入要转换的数组,调用`build()`方法来生成XML字符串。例如: ```php $array = array('root' =&gt; array('element1' =&gt; 'value1', 'element2' =&gt; 'value2')); $xml ...

    PHP数组生成XML格式数据的封装类实例

    核心方法`getXML()`接收两个参数:一个是用于生成XML的数组,另一个是可选的XSL文件名。XSL文件用于样式化XML,使其更易读。`getXML()`方法首先生成XML声明,然后根据提供的XSL文件名决定是否添加XSL样式表引用。...

    php-xml

    综上所述,PHP与XML的结合提供了多种处理XML文档的方法,从简单的读写到复杂的解析和生成,以及数据交换和Web服务,涵盖了各种实际应用需求。理解并熟练掌握这些知识点,将有助于提高PHP开发中的XML处理能力。

Global site tag (gtag.js) - Google Analytics