XML DOMについて
JavaScriptでDOMを使用して、xmlhttp.sendで指定のPHPファイルに送信しましたが、
PHP側で値を取得できません。
(PHP Ver.5.3.0)
以下、JavaScript
var UserID="abc";
var Password="abc";
var xmlDoc = new ActiveXObject("Microsoft.XMLDom");
xmlDoc.appendChild(xmlDoc.createProcessingInstruction("xml","version=\"1.0\""));
var root = xmlDoc.createElement("xDoc");
xmlDoc.documentElement=root;
var node_Item = xmlDoc.createElement("Command");
root.appendChild(node_Item);
var node_UserID = xmlDoc.createElement("UserID");
node_UserID.appendChild(xmlDoc.createTextNode(UserID)), node_Item.appendChild(node_UserID);
var node_Password = xmlDoc.createElement("Password");
node_Password.appendChild(xmlDoc.createTextNode(MDString(Password))), node_Item.appendChild(node_Password);
var node_Sufix = xmlDoc.createElement("Sufix");
node_Sufix.appendChild(xmlDoc.createTextNode(Sufix)), node_Item.appendChild(node_Sufix);
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("post",topURL("main/Log.php"),false);
xmlhttp.send(xmlDoc);
以下、Log.php
<?php
session_start();
$DEBUG_MODE=false;
$xmlLogQ=$_SERVER['DOCUMENT_ROOT']."/test/temp/Request.xml";
$xml = new DOMDocument();
$xml->async=false;
if (!$DEBUG_MODE) {
if ($XML_LOG) {
$xml->save($xmlLogQ);
}
} else {
if ($XML_LOG) {
$xml->load($xmlLogQ);
}
}
$doc=$xml->documentElement;
if ($xml->parseError.errorCode==0) {
$xml = $node=$doc->selectSingleNode("Command/UserID");
if (!($node==null)) {
$UserID=$node->text;
$node=null;
}
$node=$doc->selectSingleNode("Command/Sufix");
if (!($node==null)) {
$Sufix=$node->text;
$node=null;
}
$node=$doc->selectSingleNode("Command/Password");
if (!($node==null)) {
$Password=$node->text;
$node=null;
}
}
?>
保存したXML上、<?xml version="1.0"?>以降書き込みできてません。
どの部分がおかしいか不明の為、申し訳ないですがご教授お願いします。
お礼
ObjectOutputStreamをつかって解決しました。ありがとうございました。