2

私はそのようにフォーマットされたXMLを持っています

<things>
  <thing>
    <name>foo</name>
    <id>1</id>
  </thing>
  <thing>
    <name>bar</name>
    <id>2</id>
  </thing>
</things>

<thing>そして、フォームからの情報で新しい要素を作成しました。私がするとき$dom->appendChild($newthing)、それはドキュメントの最後に追加され、</things>.このように

   <things>
     <thing>
        <name>foo</name>
        <id>1</id>
      </thing>
      <thing>
        <name>bar</name>
        <id>2</id>
      </thing>
    </things>
    <thing>
       <name>bar</name>
       <id>2</id>
    </thing>

明らかに、新しい要素をルート要素の後ではなく、ルート要素の子にしたいのです。それ、どうやったら出来るの?

4

3 に答える 3

0

私は同じことを達成する必要があり、私はこのようにしました

$xml = simplexml_load_file("customer.xml");
foreach($xml->children() as $customer)
{
    if($email == $customer->email)
    {
        $error = true;
        $message = "Email Already Exist";
        break;
    }
    $id = $customer->id + 1;
}

$customer = $xml->addChild('customer');
$xml_id = $customer->addChild('id',$id);
$xml_firstName = $customer->addChild('firstName',$firstname);
$xml_lastName = $customer->addChild('lastName',$lastname);
$xml_email = $customer->addChild('email',$email);
$xml_password = $customer->addChild('password',$password);
$xml_contactNumber = $customer->addChild('contactNumber',$contactNumber);
$fp = fopen('customer.xml','w');
fwrite($fp,$xml->asXML());
fclose($fp);`[![output file][1]][1]
于 2020-05-23T12:48:03.650 に答える