1

私はhtmlフォームからphpを使用して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] =>配列([subtitle] => qwerty))

4

1 に答える 1

2

あなたがやっている$root [] = array(...)。したがって、配列のインデックス0に別の配列を作成します$root

やってみてください:

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

$rootまたは、配列を初期化するときにブラケットを削除します。

于 2013-03-03T16:39:18.117 に答える