利于XML词库,用PHP处理时出现
Notice: Trying to get property of non-object in C:\apache\htdocs\olword\wordprocess.php Fatal error: Call to a member function getElementsByTagName() on a non-object in C:\apache\htdocs\olword\wordprocess.php 
if($type=="update"){
 //接收新的单词  $update_word_en=$_REQUEST['enword'];
  $update_word_ch=$_REQUEST['chword'];
 
  //查询
  $words=$xmldoc->getElementsByTagName("word");
  $isEnd=false;
  //遍历
 
  
  for($i=0;$i<$words->length;$i++){
  //依次取出单词
  $word=$words->item($i);
  $word_en=getNodeVal($word,"en");
  if($update_word_en==$word_en){
  $isEnd=true;
   / /这里出现错误
      $parent_word=$word_en->parentNode;
  $word_ch=$parent_word->getElementsByTagName("ch")->item(0);
  $word_ch->nodeValue=$update_word_ch;
      //$word_en->nextSibling->nodeValue=$update_word_ch;这样修改也有问题
  //更新文件
   $isUpateOk=$xmldoc->save("word.xml");
if( $isUpateOk){    echo "更新成功";
      }else echo "更新失败";
   }
}
if(!$isEnd){  
  echo "查无此词";  }}

解决方案 »

  1.   

    没有看到 $xmldoc 在哪定义了?
      

  2.   

    //接收用户数据
    $type=$_POST["type"];//判断用户的行为
    $xmldoc=new DOMDocument();
    $xmldoc->load("word.xml"); function getNodeVal(&$myNode,$tagName){
       
       return $myNode->getElementsByTagName($tagName)->item(0)->nodeValue;
       
       }
    找到这个错误了,我自定义的函数找到的是一个值,不是一个对象,汗,引用错误了。还是谢谢你了