php对xml的创建
注意对源码的检查
var xmlHttp=createXmlHttpRequestObject();
function createXmlHttpRequestObject(){
var xmlHttp;
try{
xmlHttp=new XMLHttpRequest();
}catch(e){
var XmlHttpVersions=new Array(
"MSXML2.XMLHTTP.6.0",
"MSXML2.XMLHTTP.5.0",
"MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0",
"MSXML2.XMLHTTP",
"Mircosoft.XMLHTTP"
);
for(var i=0;i<XmlHttpVersions.length;i++){
try{
xmlHttp=new ActiveXObject(XmlHttpVersion[i]);
}catch(e){
}
}
}
if(xmlHttp){
return xmlHttp;
}else{
alert('Error create the XMLHttpRequest object.');
}
}
function process(){
if(xmlHttp){
try{
xmlHttp.open("GET","phptest.php",true);
xmlHttp.onreadystatechange=handleRequestStateChange;
xmlHttp.send(null);
}catch(e){
alert("Can't connect to server:\n"+e.toString());
}
}
}
function handleRequestStateChange(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
try{
handleServerResponse();
}catch(e){
alert("Error reading the response:"+e.toString());
}
}else{
alert("There was a problem retrieving the data:\n"+xmlHttp.statusText);
}
}
}
function handleServerResponse(){
//reading from servece info
var xmlResponse=xmlHttp.responseXML;
//招出在ie和opera下抛出的错误
if(!xmlResponse||!xmlResponse.documentElement){
throw("Invalid XML structure:\n"+xmlHttp);
}
var rootNodeName=xmlResponse.documentElement.nodeName;
if(rootNodeName=="parsererror") throw('Invalid XML structure');
xmlRoot=xmlResponse.documentElement;
//因为Element 是复数所以加s
titleArray=xmlRoot.getElementsByTagName("title");
isbnArray=xmlRoot.getElementsByTagName("isbn");
var html="";
//如果写成i<=titleArray.length,会造成数组溢出,不然会找不到子元素
for(var i=0;i<titleArray.length;i++){
html+=titleArray.item(i).firstChild.data+","+isbnArray.item(i).firstChild.data+"<br/>"
}
myDiv=document.getElementById("myDiv");
myDiv.innerHTML=html;
}
<?php
header('Content-Type:text/xml');
$dom=new DOMDocument();
//建立个元素的方法
$response=$dom->createElement('response');
$dom->appendChild($response);
$books=$dom->createElement('books');
$response->appendChild($books);
$title=$dom->createElement('title');
$titleText=$dom->createTextNode('就一个测试你以为我会啥到照着你书本打一串英语字母么?');
$title->appendChild($titleText);
$isbn=$dom->createElement('isbn');
$isbnText=$dom->createTextNode('1-904811-82-5');
$isbn->appendChild($isbnText);
$book=$dom->createElement('book');
$book->appendChild($title);
$book->appendChild($isbn);
$books->appendChild($book);
$xmlString=$dom->saveXML();
echo $xmlString;
?>