`
faiinlove
  • 浏览: 57276 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

将XML字符串装换成PHP对象

    博客分类:
  • php
阅读更多

最近做一个CRM的接口,需要接受CRM发出的XML数据,再在PHP端做处理,现在把php解析xml的代码贴出:

 

 

empty($_GET['data']) ? $data = $_POST['data'] : $_GET['data'];

$xml_parser = xml_parser_create();

xml_parse_into_struct($xml_parser, $data, $vals, $index);
xml_parser_free($xml_parser);

$params = array();
$level = array();
foreach($vals as $xml_elem) {
    if ($xml_elem['type'] == 'open') {
        if (array_key_exists('attributes', $xml_elem)) {
            list($level[$xml_elem['level']], $extra) = array_values($xml_elem['attributes']);
        } else {
            $level[$xml_elem['level']] = $xml_elem['tag'];
        }
    }
    if ($xml_elem['type'] == 'complete') {
        $start_level = 1;
        $php_stmt = '$params';
        while ($start_level < $xml_elem['level']) {
            $php_stmt. = '[$level['.$start_level.']]';
            $start_level++;
        }
        $php_stmt. = '[$xml_elem[\'tag\']] = $xml_elem[\'value\'];';
        eval($php_stmt);
    }
}
echo "<pre>";
print_r($params);
echo "</pre>";

 

首先从request中获取传递过来的$_GET数据,然后调用php的xml解析函数,解析成字串,最后调用eval函数将字串转换成真正的PHP对象,结果是输出一个数组!

 

分享到:
评论

相关推荐

    php xml转数组

    这里,`simplexml_load_string`函数将XML字符串转换为一个SimpleXMLElement对象,然后通过将其转换为JSON字符串,再反序列化回PHP数组,从而实现转换。 在我们的压缩包文件中,有一个名为`xml.class.php`的文件,...

    php简单处理XML数据的方法示例

    首先,当需要将XML字符串转换成PHP对象进行处理时,可以使用`simplexml_load_string()`函数。此函数接受一个XML格式的字符串作为输入,并将之转换为一个SimpleXMLElement对象。通过这种转换,我们可以非常方便地访问...

    php判断str字符串是否是xml格式数据的方法示例

    为了进一步确认,函数尝试将字符串转换为SimpleXMLElement对象(通过`simplexml_load_string()`),然后将其序列化为JSON,再反序列化回PHP数组(通过`json_decode(json_encode(...), true)`)。如果这个过程没有...

    PHP 将 XML文件或内容直接转成数组

    - SimpleXML是PHP的一个内置扩展,提供了一种简单的方式从XML字符串或文件创建对象。 - SimpleXML对象可以像数组一样进行索引,也可以像对象一样访问属性。 #### 实现步骤 1. **定义函数** `xmlToArray` - 这个...

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

    - **数组转XML**:SimpleXML提供了一个方便的方法`asXML()`,将SimpleXMLElement对象转换为XML字符串。DOM则可以通过`DOMDocument::saveXML()`或`DOMDocument::save()`保存到字符串或文件。 4. **类设计与实现** ...

    xml2json.php

    这段代码首先创建了一个XML字符串,然后使用`simplexml_load_string`将其转换为SimpleXMLElement对象,接着使用`json_encode`将其转化为JSON字符串。执行后,将输出相应的JSON表示: ```json {"@attributes":{},...

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

    2. **PHP到XML的转换**:另一个关键功能可能是`array_to_xml()`, 这个方法将PHP数组转换成XML字符串。它可能首先创建一个DOMDocument对象,然后递归地将数组元素添加为DOMElement节点,最后输出XML字符串。这样,PHP...

    php xml 转json和array

    上述代码首先使用`simplexml_load_file()`函数加载XML文件并将其转换为SimpleXMLElement对象,然后通过两次`json_encode()`操作将其转换为PHP数组,最后再次编码为JSON字符串。 其次,XML转数组通常是为了方便在PHP...

    php输出xml格式字符串(用的这个)

    ` 将XML字符串输出到浏览器。 要生成更复杂的XML字符串,可以使用PHP的DOMDocument和DOMElement类,它们提供了更方便的方式来创建和操作XML文档。例如,可以创建一个DOMDocument对象,然后添加DOMElement来构建XML...

    PHP 数组与Xml转换

    最后,将整个 XML 结构添加到 DOMDocument 对象,并保存为文件: ```php $dom-&gt;appendChild($booksElement); $dom-&gt;save('book1.xml'); ``` 这种方法的优点是灵活且易于理解,可以处理复杂的数据结构。但缺点是,...

    php 与XML的例子

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

    php读写xml

    这段代码将XML字符串转换为HTML安全的格式,并在页面中显示。 4. 配置XML页面表格 要将XML数据转换为HTML表格,可以使用PHP的DOMXPath类来查询XML节点,然后创建相应的HTML表格结构。以下是一个简化的示例: ```...

    PHP文本的读取转换为XML

    在PHP开发中,将文本数据转换为XML格式是一项常见的任务,尤其当处理日志文件时。日志文件通常以文本格式存储,包含了丰富的系统、应用或用户活动信息。本示例将详细介绍如何读取TXT日志文件并将其内容转换为XML,...

    XML to JSON PHP

    在这个例子中,首先使用`simplexml_load_string()`将XML字符串转化为一个SimpleXMLElement对象,然后通过`json_encode()`将其转换为PHP数组,因为JSON编码通常适用于处理数组。再将得到的数组用`json_encode()`转化...

    php下使用SimpleXML处理XML文件.pdf

    通常,你需要将修改后的SimpleXMLElement对象转换回XML字符串,然后写回到文件。例如,使用`asXML()`方法: ```php $xmlString = $xml-&gt;asXML(); file_put_contents('Messages.xml', $xmlString); ``` 9. **...

    php递归解析xml

    SimpleXML是一个易于使用的接口,可将XML字符串或文件加载为PHP对象。以下是一个简单的例子: ```php $xmlString = &lt;&lt;&lt;XML &lt;item id="1"&gt;Item 1 &lt;subitem&gt;Subitem 1 &lt;subitem&gt;Subitem 2 XML; $xml = ...

    php-xml

    PHP提供了`xml_encode`和`xml_decode`函数,可以将PHP数据结构转换为XML字符串,反之亦然。这对于在PHP和其它系统之间交换数据非常有用。 7. **SOAP和XML-RPC**: SOAP(Simple Object Access Protocol)和XML-...

    php遍历解析xml字符串的方法

    此外,它还支持一些便利的方法,如`count()`来获取子元素的数量,以及`asXML()`来将对象转换回XML字符串。 对于复杂的数据结构,SimpleXMLElement可能不是最高效的选择,但对于简单的XML文档,它提供了一种直观且...

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

    当XML文档构建完成后,使用`saveXML`方法可以将DOM对象转换回XML字符串,或者使用`save`方法将XML写入文件: ```php $xmlString = $xml-&gt;saveXML(); $xml-&gt;save('output.xml'); ``` 在实际应用中,我们还可能需要...

Global site tag (gtag.js) - Google Analytics