看看是不是可以!直接出结果,直接进入item输出结果,是不是非常简单!下一篇说一说直接从div里面取内容!不需要插件,直接取!采用dom方法,多多交流哦!
对了,这里面还可以删除添加元素,具体的看一下手册,删除的话使用unset。
/** * 将xml转换为数组 * @param string $xml:xml文件或字符串 * @return array */ public function xmlToArray($xml) { //考虑到xml文档中可能会包含<![CDATA[]]>标签,第三个参数设置为LIBXML_NOCDATA if (file_exists($xml)) { libxml_disable_entity_loader(false); $xml_string = simplexml_load_file($xml, 'SimpleXMLElement', LIBXML_NOCDATA); } else { libxml_disable_entity_loader(true); $xml_string = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA); } $result = json_decode(json_encode($xml_string), true); return $result; } /** * 将数组转换为xml * @param array $arr:数组 * @param object $dom:Document对象,默认null即可 * @param object $node:节点对象,默认null即可 * @param string $root:根节点名称 * @param string $cdata:是否加入CDATA标签,默认为false * @return string */ public function arrayToXml($arr, $dom = null, $node = null, $root = 'xml', $cdata = false) { if (!$dom) { $dom = new DOMDocument('1.0', 'utf-8'); } if (!$node) { $node = $dom->createElement($root); $dom->appendChild($node); } foreach ($arr as $key => $value) { $child_node = $dom->createElement(is_string($key) ? $key : 'node'); $node->appendChild($child_node); if (!is_array($value)) { if (!$cdata) { $data = $dom->createTextNode($value); } else { $data = $dom->createCDATASection($value); } $child_node->appendChild($data); } else { arrayToXml($value, $dom, $child_node, $root, $cdata); } } return $dom->saveXML(); }