我有个问题:
下面是我的代码:<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load('1.xml);$first = "Ying";
$element = $xmlDoc->createElement('partner',$_POST['first']);$xmlDoc->getElementsByTagName('person')->item($first)->appendChild($element);(这句语法不对,但是我不知道有何方法,IDEA就是只在Ying后面插partner)echo $xmlDoc->saveXML($xmlDoc);  $xmlDoc->save("1.xml"); 
?>
<html>
<BODY> 
<br>Please insert the partner of the person
<form method="post" action= ""> 
Firstname:<br />
<input type="text" name="first" id="first"/><br />
<input type="submit" name="submitted" value="Submit"> 
</form>  
</BODY> 
</html>举个例子:
- <person gender="m" nationality="nl">
    <name first="Kees" last="de Vries" /> 
     <partners>
      <partner gender="f" relation="m" nationality="nl">
        <name first="Trees" last="Dirks" /> 
         <children>
           <person gender="m" nationality="nl">
              <name first="Ying" last="de Vries" /> 
  
    </person>我想在first 是“ying”的person插partner
最终结果:- <person gender="m" nationality="nl">
    <name first="Kees" last="de Vries" /> 
     
      <partner gender="f" relation="m" nationality="cn">
        <name first="Trees" last="Dirks" /> 
         <children>
           <person gender="m" nationality="nl">
              <name first="Ying" last="de Vries" /> 
               <partner gender="m" relation="m" nationality="cn">
                   <name first="deng" last="yun" /> 
     </person>

解决方案 »

  1.   

    http://www.php.net/manual/zh/ref.domxml.php相关内容读一读
      

  2.   

    我是个初学者,有没有谁能帮写一下代码。关键就是如何按照attribute的值来插一个node。像一般的插法都是$xmlDoc->getElementsByTagName('person')->item(0)->appendChild($element);但是我不知道item(0),我只知道attribute 的值。或者回去找index.但是或许会比较复杂
    有谁能帮一下。
      

  3.   

    你把
     <person gender="m" nationality="nl"> 
         <name first="Kees" last="de Vries" />  
          <partners> 
           <partner gender="f" relation="m" nationality="nl"> 
             <name first="Trees" last="Dirks" />  
              <children> 
                <person gender="m" nationality="nl"> 
                   <name first="Ying" last="de Vries" />  
       
         </person> 写全了,我好调
      

  4.   

    <?xml version="1.0" ?> 
      <person gender="f" nationality="chinese">
        <name first="ying" last="zhang" /> 
        <bdate day="1" month="1" year="2010" /> 
        <partners> 
          <partner gender="f" relation="m" nationality="en">
           <name first="Trees" last="Dirks" /> 
           <bdate day="10" month="11" year="1888" /> 
           <ddate day="14" month="6" year="1970" /> 
             <children>
               <person gender="f" nationality="cn">
                 <name first="Ying" last="de Vries" /> 
                 <bdate day="28" month="5" year="1917" /> 
                 <ddate day="1" month="6" year="2007" /> 
                 <partners/>
                </person>  
              </children>
            </partner>
          </partners>
       </person>上述的就是最初的XML,是一个家庭树,从最初一个人,然后加了配偶(PARTNER),然后有了孩子(children),然后依次永远加下去。
    现在我的程序已经可以用一个变量读到某一个人(代码里是$first = "Ying";),然后按照这个人,开始插配偶和孩子。所以如何把partner和孩子插在ying的后面。
    谢谢