Php未定义索引编写xml文件

时间:2013-03-03 16:30:54

标签: xml php

我正在使用PHP从html表单编写一个xml,因为这个问题我无法继续前进..谢谢你的帮助!!

 <?php 
  $root = array();  
 $root [] = array( 
 'subtitle' => $_POST['subtitle'], 
 ); 
 echo $_POST['subtitle'];//checker if POST really passes data

 $doc = new DOMDocument(); 
 $doc->formatOutput = true; 

 $r = $doc->createElement( "root" ); 
 $doc->appendChild( $r ); 

 $subtitle = $doc->createElement( "subtitle" ); 
 $subtitle->appendChild($doc->createTextNode( $root['subtitle'])); --Undefined index-
 $r->appendChild( $subtitle ); 

$ root ['subtitle']未定义,我不知道为什么。

 echo $doc->saveXML(); 
 $doc->save(.$_POST['title'].".xml") 
 ?>

代码确实生成了一个xml文件,但节点是空的

<?xml version="1.0"?>
<root>
  <subtitle></subtitle>
</root>

谢谢!

写了print_r($ root)并在表单中写了qwerty。这是输出     数组([0] =&gt;数组([副标题] =&gt; qwerty))

1 个答案:

答案 0 :(得分:2)

你在做$root [] = array(...)。因此,它会在$root数组的索引 0 处创建另一个数组。

尝试做:

$subtitle->appendChild($doc->createTextNode($root[0]['subtitle']));

或者在初始化$root数组时删除括号。