美文网首页
PHP编程实战14-16

PHP编程实战14-16

作者: 海边拾贝 | 来源:发表于2015-11-10 22:01 被阅读0次
<!--PHP编程实战-->
<!--XML -->
<!--14-16-->
<!--使用SimpleXML生成基本的XML文档-->
<?php
$dogs_array = array(
    array("name" => "snoopy",
        "color" => "brown",
        "breed" => "beagle cross"
    ),
    array("name" => "jade",
        "color" => "black",
        "breed" => "lab cross"
    ),
);
$cats_array = array(
    array("name" => "teddy",
        "color" => "brown",
        "breed" => "tabby"
    ),
);

//从根节点开始生成xml
$animals = new SimpleXMLElement('<animals/>');

$cats_xml = $animals->addChild('cats');
$dogs_xml = $animals->addChild('dogs');

foreach ($cats_array as $c) {
    $cat = $cats_xml->addChild('cat');
    foreach ($c as $key => $value) {
        $tmp = $cat->addChild($key);
        $tmp->{0} = $value;
    }
}
foreach ($dogs_array as $c) {
    $dog = $dogs_xml->addChild('dog');
    foreach ($c as $key => $value) {
        $tmp = $dog->addChild($key);
        $tmp->{0} = $value;
    }
}

var_dump($animals);
$animals->asXML('animals.xml');

$animals_dom = new DOMDocument('1.0');
$animals_dom->preserveWhiteSpace = false;
$animals_dom->formatOutput = true;
//返回DOMElement
$animals_dom_xml = dom_import_simplexml($animals);
$animals_dom_xml = $animals_dom->importNode($animals_dom_xml, true);
$animals_dom_xml = $animals_dom->appendChild($animals_dom_xml);
$animals_dom->save('animals_formatted.xml');
print '<br/><br/>';
//
var_dump(simplexml_load_file('animals.xml'));
?>

知识点

  • 使用 new SimpleXMLElement('<animals/>');创建了一个新的SimpleXMLElement元素.为了自顶层元素向下依次填充文档,通过调用addChild来创建子元素,并将一个引用存储到新建的元素.
  • 通过元素的引用,就可以添加子元素.重复这个过程,可以生成一个完整的节点树.
  • 输出函数asXML不能很好地格式化输出.
  • 使用DOMDocument类可以很好第输出XML.
  • 节点要先引入再添加.

相关文章

  • PHP编程实战14-16

    知识点 使用 new SimpleXMLElement(' ');创建了一个新的SimpleXMLElement元...

  • PHP Socket 编程实战总结

    在进入 PHP Socket 编程实战之前,我们先来了解一下 PHP Socket 的一些基础知识。 一、基础部分...

  • PHP编程实战15-14/15

    前端 服务器端json_example.php返回json字符串 重点 请求资源文件在PHP编程实战15-14$....

  • PHP编程实战14.1 xml

    要解析xml,可以使用树模型或事件驱动模型.树模型--把html和xml文档呈现为一棵元素树,容易直观一次加载完....

  • PHP编程实战15.2 Ajax

    Ajax的一些缺点: 浏览器后退按钮和书签不记录Ajax状态;搜索引擎很难对动态生成的内容进行索引;从容降级队非J...

  • PHP编程实战15-13

    xml数据文件 重点 $.get(请求的文件,回调函数,期望的数据类型默认text)$("#generated_c...

  • PHP编程实战15-19

    前端 服务器端save_drawing.php load_drawing.php 重点 像素文件保存为json格式...

  • PHP编程实战15-1

  • PHP编程实战15-2

  • PHP编程实战15-9

    sample_table.html 重点 xhr.open("GET", "sample_table.html",...

网友评论

      本文标题:PHP编程实战14-16

      本文链接:https://www.haomeiwen.com/subject/tajhhttx.html