1
<?xml version="1.0" encoding="UTF-8"?>
<root></root>

これは私のxmlファイルです。タグ間に dom メソッドを使用してデータを挿入更新したい。私は、php および Xml テクノロジの初心者です。このファイルの作成と読み取りは成功しましたが、php を使用してデータを入力できませんでした。

作成するためのコードは次のとおりです。

  $doc = new DOMDocument('1.0', 'UTF-8');
  $ele = $doc->createElement( 'root' );
  $ele->nodeValue = $uvar;
  $doc->appendChild( $ele );
  $test = $doc->save("$id.xml");

読み取りコードは次のとおりです。

  $xdoc = new DOMDocument( );
  $xdoc->Load("$gid.xml");
  $candidate = $xdoc->getElementsByTagName('root')->item(0);
  $newElement = $xdoc ->createElement('root');
  $txtNode = $xdoc ->createTextNode ($root);
  $newElement -> appendChild($txtNode);
  $candidate -> appendChild($newElement);
  $msg = $candidate->nodeValue;

誰かが挿入と更新を手伝ってくれませんか。ありがとう!

4

2 に答える 2

0

PHP + XML は、少し不快な場合があります。ほとんどの場合、このコードは便利だと思います (状況に合わせて少し書き直しました)。

$array = array('anxmltag'=>'hello everybody','anothertag'=>'content','lasttag'=>'maybe');

$doc = new DOMDocument('1.0','UTF-8');
$root = $doc->createElement('root');
$doc->appendChild($root);

foreach($array as $key=>$value) {

    $root->appendChild($dom->createElement($key))->appendChild($dom->createTextNode($value));
}

$doc->save("$id.xml");

このコードを拡張して、第 2 レベルの XML タグを記述できます。

于 2010-12-29T00:05:53.677 に答える
0

DOMDocument クラスの経験はあまりありませんが、代わりに simpleXML オブジェクトを使用する方が簡単かもしれません。拾うのが少し速いです。

http://us.php.net/simplexml

あなたはただすることができます

$xml = new SimpleXMLElement('<root></root>');
$xml->addChild('test_node_name', 'value');
$xml->test_node_name = 'new_value';
echo $xml->test_node_name;

これにより、同じ名前を持つ複数の子要素を配列と同じ方法で処理できるため、それらを反復処理したり、インデックスでアクセスしたりできます。ファイルまたは文字列から simplexml オブジェクトを作成することもできます。見てみな。

于 2010-12-29T03:42:17.470 に答える