javascript - 请问PHP如何使用dom对象输出xml文件中的节点名称+节点值?
PHP中文网
PHP中文网 2017-04-11 12:10:12
[JavaScript讨论组]

问题:请问以下代码如何修改可以输出以下内容:
title--11
author--22
content--33

代码如下:

message.html



    
        
        留言板
    

    
        

发表留言

标题:
作者:
内容:

message.php

createElement('threads');
    $dom->appendChild($threads);

    //创建根节点threads的子节点thread
    $thread = $dom->createElement('thread');
    $threads->appendChild($thread);

    //创建thread的子节点title
    $title = $dom->createElement('title');
    $thread->appendChild($title);

    //为title创建文本子节点
    $title_value = $dom->createTextNode($_POST['title']);
    $title->appendChild($title_value);

    //创建thread的子节点author
    $author = $dom->createElement('author');
    $thread->appendChild($author);

    //为author创建文本子节点
    $author_value = $dom->createTextNode($_POST['author']);
    $author->appendChild($author_value);

    //创建thread的子节点content
    $content = $dom->createElement('content');
    $thread->appendChild($content);
    
    //为content创建文本子节点
    $content_value = $dom->createTextNode($_POST['content']);
    $content->appendChild($content_value);

    $xml = $dom->saveXML();//保存XML

    //加载XML文件
    $dom->load($xml);

    //读取根节点
    $root = $dom->documentElement;

    /*
    定义一个使用DOM读取XML内容的函数
    */
    function readXML($node){

        //获取根节点的全部子节点
        $child = $node->childNodes;

        foreach($child as $c){  //循环读取子节点中的内容
            if($c->nodeType == XML_TEXT_NODE){//如果节点类型为文本节点类型
                echo $c->nodeValue.'
'; }elseif($c->nodeType == XML_ELEMENT_NODE){//如果节点类型为节点对象 //echo $c->nodeName.'--'; readXML($c); } } } $fp = fopen('message.xml','w');//打开文件 if(fwrite($fp,$xml)){//写入内容 echo '留言成功
'; readXML($root); }else{ echo '留言失败'; } fclose($fp);//关闭文件 ?>

谢谢

PHP中文网
PHP中文网

认证0级讲师

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号