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;
}
分享到:
相关推荐
在PHP生成JSON时,首先需要创建一个数组或对象,然后使用`json_encode()`将其转换为JSON字符串。例如: ```php $data = array('name' => 'John', 'age' => 30); $json = json_encode($data); echo $json; // 输出:...
在PHP中,生成XML文件是常见的数据序列化和交换任务,尤其在Web服务和数据存储中扮演着重要角色。XML(可扩展标记语言)是一种结构化的数据格式,它允许我们以自定义的方式组织数据。以下是PHP中生成XML文件的四种...
数据库数据生成XML是一种常见的数据转换方法,用于在不同的系统间传递和交换信息。XML(Extensible Markup Language)是一种标记语言,它的设计目标是传输和存储数据,而不是显示数据。XML的结构化特性使得它成为跨...
### PHP从数据库中读取数据生成XML的知识点详解 #### 一、PHP连接MySQL数据库 在给定的脚本中,我们首先看到的是通过PHP连接MySQL数据库的操作。这部分代码使用了较旧的`mysql_`扩展,而不是推荐的`mysqli_`或`PDO...
- **简洁易用**:`crxml`的API设计直观,使得生成XML和RSS Feed的代码简洁明了。 - **灵活性**:可以根据需要自定义XML结构,适应各种数据表示需求。 - **效率**:相比使用DOM或SimpleXML等其他PHP XML处理方式,`...
以下是从标题和描述中提取的四种PHP生成XML文件的方法: 1. **直接生成字符串**: 这是最基础的方法,通过构建字符串来生成XML。首先定义一个数据数组,然后逐个遍历数组,将数据转换成XML结构的字符串。在示例...
在PHP中,我们可以使用`DOMDocument`类来创建和操作XML,以及`XMLWriter`类来生成XML流。 创建一个简单的XML文档如下: ```php $xmlDoc = new DOMDocument('1.0', 'UTF-8'); $data = [ 'person' => [ 'name' => ...
$stp = '<item><title>PHP数组生成Xml格式数据.</title><link>http://www.111cn.net</link><data>2008-02-28</data></item>'; // 循环生成多个 <item> 元素 for ($i = 1; $i ; $i++) { $stp .= $stp; } $foot = '...
微信公众号支付签名生成工具类和xml和map转换工具类和双向验证请求工具类
生成XML后,我们可以通过创建一个DOMDocument对象来处理它,以确保其结构正确,并可以输出到浏览器: ```php $xml = new DOMDocument(); $xml->loadXML('<?xml version="1.0" encoding="UTF-8"?><logs>' . $xmlData...
总的来说,这个项目利用了PHP处理XML数据,结合前端的Flash技术,实现了家谱树的动态生成和展示。用户可以根据不同的URL参数来查看不同的家族分支,而PHP脚本则负责在后台完成数据的解析和转换工作。这样的解决方案...
在IT行业中,XML(eXtensible Markup Language)是一种用于标记数据的标准格式,它具有良好的结构化和可读性,广泛应用于数据交换、配置...对于给定的类文件,通过阅读和测试,你可以更好地了解XML转换的具体实现细节。
但在这个简单的PHP类中,我们可以期待一个快速且易于使用的解决方案,适用于大多数基本的数组到XML转换需求。 总的来说,了解并能够灵活运用这个PHP类,不仅可以提高开发效率,还能帮助理解PHP如何处理XML数据,...
**PHP100视频教程90:PHP DOM 创建生成多功能 XML文件** 在这一教程中,我们将深入探讨如何使用PHP的DOM扩展来创建和操作XML文件。XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,它具有...
PHP提供了DOM、SimpleXML、XMLReader和XMLWriter等库来解析和生成XML文档。 **PHP与XML的结合** 通过PHP的XML处理函数,我们可以读取、解析XML文件,提取所需数据,然后进行处理或展示。例如,使用SimpleXML库可以...
综上所述,"PHP读取XML显示到表格"这一技术涵盖了PHP的XML解析、HTML表格生成以及可能涉及的数据处理和样式设计。在阅读了相关博客(如提供的链接)后,开发者可以进一步了解并实践这一过程,提升自己的PHP与XML应用...
这个例子展示了如何使用SimpleXMLElement将XML字符串转换为PHP对象,然后遍历并打印出书籍的信息。每个`<book>`元素都被视为一个对象,我们可以直接访问其属性(如'title')和子元素(如'author'和'year')。 此外...
在实际使用中,开发者可以通过实例化Array2xml类,传入要转换的数组,调用`build()`方法来生成XML字符串。例如: ```php $array = array('root' => array('element1' => 'value1', 'element2' => 'value2')); $xml ...
核心方法`getXML()`接收两个参数:一个是用于生成XML的数组,另一个是可选的XSL文件名。XSL文件用于样式化XML,使其更易读。`getXML()`方法首先生成XML声明,然后根据提供的XSL文件名决定是否添加XSL样式表引用。...
综上所述,PHP与XML的结合提供了多种处理XML文档的方法,从简单的读写到复杂的解析和生成,以及数据交换和Web服务,涵盖了各种实际应用需求。理解并熟练掌握这些知识点,将有助于提高PHP开发中的XML处理能力。