源码如下:
<?
$dom = new DomDocument("1.0");
$root = $dom -> createElement("html");
$title = $dom -> createElement("title");
$meta = $dom -> createElement("meta");
$head = $dom -> createElement("head");
$titleText = $dom -> createTextNode("这是XML的标题");         //此处无法显示
$metaText = $dom -> createTextNode("这是XML的meta标识符");    //此处无法显示
$table = $dom -> createElement("table");
$tr = $dom -> createElement("tr");
$td = $dom -> createElement("td");
$tdText = $dom -> createTextNode("欢迎使用XML");             //此处无法显示
$root = $dom -> appendChild($root);
$head = $root -> appendChild($head);
$title = $head -> appendChild($title);
$meta = $head -> appendChild($meta);
$comment = $title -> appendChild($titleText);
$meta -> appendChild($metaText);
$td -> appendChild($tdText);
$tr -> appendChild($td);
$table -> appendChild($tr);
$root -> appendChild($table);
$dom -> save("test5.xml");echo "<hr/><a href=\"test5.xml\">查看test5.xml</a>";
?>
运行后点击“查看test5.xml”结果如下:
  <?xml version="1.0" ?> 
- <html>
- <head>
  <title /> 
  <meta /> 
  </head>
- <table>
- <tr>
  <td /> 
  </tr>
  </table>
  </html>
没有代码中加的createTextNode值。
请问是哪里的问题?

解决方案 »

  1.   

    将文件格式转成utf-8.
    要么$dom = new DOMDocument('1.0', 'utf-8');
    并且将写入的结点值转成utf8的.
    反正就是编码问题,在我这里测试是没有问题的.
      

  2.   

    createTextNode("这是XML的标题");
    这里面的值怎么转换编码呢?
      

  3.   

    如果你的文件不是utf-8的,你要这样转呀
    createTextNode((iconv('gb2312','utf-8','这是XML的标题'));