我的一个类中有一个php函数,它只是创建了一个包含所有对象的XML文件。这是代码:
function writeXML(){
//LOAD PROFILE
//print "Profiles: <br>";
//$pro = new Profile();
$profileArray = $this->getAll();
//var_dump($profileArray);
//CHECK TO SEE IF THE XML FILE EXISTS IN THE LIBRARY/CONFIGURATION
if(file_exists($_SESSION['ini'][rootPath] . "v/p.xml")){
unlink($_SESSION['ini'][rootPath] . "v/p.xml");
}
//CREATE XML FILE
//CREATE ROOT NODE
$doc = new DOMDocument("1.0");
$doc->formatOutput = true;
//CREATE ROOT NODE
print "Creating nodes";
$root = $doc->createElement("profiles");
$root = $doc->appendChild($root);
//ADD NODES
//print "<br>Creating children";
foreach($profileArray as $member){
//AS WE CYCLE THROUGH THE ARRAY GET THE ARRAY OF OBJECT PARAMETERS
$memberArray = $member->toArray();
//var_dump($memberArray);
//CREATE MEMBER NODE TO ROOT
$person = $doc->createElement("profile");
$person = $root->appendChild($person);
//CREATE CHILD NODES FOR MEMBER
/*
* ID IS NOT NEEDED FOR IOS APP
$id = $doc->createElement("ID");
$id = $person->appendChild($id);
$idValue = $doc->createTextNode($member->get_id());
$idValue = $id->appendChild($idValue);
*/
$lastName = $doc->createElement("lastName");
$lastName = $person->appendChild($lastName);
//$lastNameValue = $doc->createTextNode($member->get_lname());
$lastNameValue = $doc->createTextNode($memberArray['lastName']);
$lastNameValue = $lastName->appendChild($lastNameValue);
$firstName = $doc->createElement("firstName");
$firstName = $person->appendChild($firstName);
$firstNameValue = $doc->createTextNode($memberArray['firstName']);
//$firstNameValue = $doc->createTextNode($member->get_fname());
$firstNameValue = $firstName->appendChild($firstNameValue);
$mobile = $doc->createElement("mobile");
$mobile = $person->appendChild($mobile);
$mobileValue = $doc->createTextNode($memberArray['mobile']);
//$mobileValue = $doc->createTextNode($member->get_mobile());
$mobileValue = $mobile->appendChild($mobileValue);
$phone = $doc->createElement("phone");
$phone = $person->appendChild($phone);
$phoneValue = $doc->createTextNode($memberArray['phone']);
//$phoneValue = $doc->createTextNode($member->get_phone());
$phoneValue = $phone->appendChild($phoneValue);
$email = $doc->createElement("email");
$email = $person->appendChild($email);
$emailValue = $doc->createTextNode($memberArray['email']);
//$emailValue = $doc->createTextNode($member->get_email());
$emailValue = $email->appendChild($emailValue);
$altEmail = $doc->createElement("altEmail");
$altEmail = $person->appendChild($altEmail);
$altEmailValue = $doc->createTextNode($memberArray['altEmail']);
//$altEmailValue = $doc->createTextNode($member->get_altemail());
$altEmailValue = $altEmail->appendChild($altEmailValue);
$street = $doc->createElement("address");
$street = $person->appendChild($street);
$streetValue = $doc->createTextNode($memberArray['street']);
//$streetValue = $doc->createTextNode($member->get_street());
$streetValue = $street->appendChild($streetValue);
$city = $doc->createElement("city");
$city = $person->appendChild($city);
$cityValue = $doc->createTextNode($memberArray['city']);
//$cityValue = $doc->createTextNode($member->get_city());
$cityValue = $city->appendChild($cityValue);
$state = $doc->createElement("state");
$state = $person->appendChild($state);
$stateValue = $doc->createTextNode($memberArray['state']);
//$stateValue = $doc->createTextNode($member->get_state());
$stateValue = $state->appendChild($stateValue);
$zip = $doc->createElement("zip");
$zip = $person->appendChild($zip);
$zipValue = $doc->createTextNode($memberArray['zip']);
//$zipValue = $doc->createTextNode($member->get_zip());
$zipValue = $zip->appendChild($zipValue);
$image = $doc->createElement("image");
$image = $person->appendChild($image);
$imageValue = $doc->createTextNode($memberArray['image']);
$imageValue = $image->appendChild($imageValue);
$titles = $doc->createElement("title");
$titles = $person->appendChild($titles);
$titlesValue = $doc->createTextNode($memberArray['title']);
//$titlesValue = $doc->createTextNode($member->get_field5());
$titlesvalue = $titles->appendChild($titlesValue);
$group = $doc->createElement("group");
$group = $person->appendChild($group);
$groupValue = $doc->createTextNode($memberArray['group']);
$groupVAlue = $person->appendChild($groupValue);
}
print "<br>Saving XML<br><br>";
$xml_string = $doc->saveXML();
print "XML<br>";
print $xml_string;
print "<br>";
print "Path: " . $_SESSION['ini']['rootPath'] . "public_html/v/p.xml";
//if($doc->save($_SESSION['ini']['htmlPath'] . "v/p.xml")) return true;
//else return false;
print "Bytes: " . $doc->save($_SESSION['ini']['rootPath'] . "public_html/v/p.xml");
}
当saveXML
完成时,我真的需要另外一套眼睛,甚至将$xml_string
吐出到屏幕上。但是,$doc->save
根本没有显示任何内容。
想法?
答案 0 :(得分:1)
如果要将xml保存到文件,则需要使用save
,而不是saveXML
。
您是否将文件名传递给保存?保存就像:
$filename=$_SESSION['ini'][rootPath] . "v/p.xml";
$doc->save($filename);
其他问题:$_SESSION['ini'][rootPath]
你确定它是否已经设定?