应该是这样:
$doc = new DOMDocument();
$doc->load( "pic.xml");
//这里你要获取他的第一个tag,因为getElementsByTagName获取的结果是个数组对象
$folder = $doc->getElementsByTagName("folder") -> item(0);
$new_file=$doc->createElement("file");
$pname = $doc -> createAttribute('pname');
$pclass = $doc -> createAttribute('class');
$pcar = $doc -> createAttribute('pcar');
$newspname = $doc -> createTextNode($name);
$newspclass = $doc -> createTextNode($_POST['Sclass']);
$newspcar = $doc -> createTextNode($_POST['Scar']);
$pname -> appendChild($newspname);
$pclass -> appendChild($newspclass);
$pcar -> appendChild($newspcar);
$new_file -> appendChild($pname);
$new_file -> appendChild($pclass);
$new_file -> appendChild($pcar);
$folder -> appendChild($new_file);
//$doc ->appendChild($folder);//前面已经append了,就不需要在append了
$doc -> save("pic.xml");