PHP中使用DOM

本文介绍了一个简单的PHP程序,该程序用于创建XML格式的数据并通过Ajax发送到客户端。用户可以在HTML页面上输入姓名、年龄和性别,然后将这些数据发送到服务器端的PHP文件进行处理并返回XML格式的内容。
帮别人修改了一个PHP中创建xml的ajax程序,感觉很是罗嗦,自己对PHP也不是太了解,也都是通过google才最终完成,总算是实现了功能。
一共只有两个文件,一个html页面,还有一个服务器端文件
首先是html,填写姓名、年龄、性别,然后服务器接受返回xml格式,并解析显示在test的后面。
html文件:
[code]<script language="javascript">
function InitAjax()
{
var ajax=false;
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
ajax = false;
}
}
if (!ajax && typeof XMLHttpRequest!='undefined') {
ajax = new XMLHttpRequest();
}
return ajax;
}

function saveUserInfo()
{
var name = document.getElementById("name");
var age = document.getElementById("age");
var sex = document.getElementById("sex");
var f = document.user_info;//获取表单对象和用户信息值
var userName = f.user_name.value;
var userAge = f.user_age.value;
var userSex = f.user_sex.value;
//接收表单的URL地址
var url = "./save_info.php?user_name="+ userName +"&user_age="+ userAge +"&user_sex="+ userSex;
var ajax = InitAjax();
ajax.open("POST", url, true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send(null);
ajax.onreadystatechange = function() {
if (ajax.readyState == 4 && ajax.status == 200) {
alert(ajax.responseText);
if(window.ActiveXObject){
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(ajax.responseText);
}else{
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(ajax.responseText,"text/xml");
}
var hasError = xmlDoc.getElementsByTagName('error').length > 0 ? true:false;
if(hasError){
alert("dom error");
}else{
document.getElementById("name").innerText=xmlDoc.getElementsByTagName('name')[0].childNodes[0].nodeValue;
document.getElementById("age").innerText=xmlDoc.getElementsByTagName('age')[0].childNodes[0].nodeValue;
document.getElementById("sex").innerText=xmlDoc.getElementsByTagName('sex')[0].childNodes[0].nodeValue;
}
}
}
}
</script>
<form name="user_info" method="post">
<table>
<tr><td>姓名:<input type="text" name="user_name" /></td><td><div id="name"></div></td></tr>
<tr><td>年龄:<input type="text" name="user_age" /></td><td id="age"></td></tr>
<tr><td>性别:<input type="text" name="user_sex" /><br /></td><td id="sex"></td></tr>
<tr><td><input type="button" value="提交表单" onClick="saveUserInfo()"></td><td></td></tr>
</table>
</form>[/code]

PHP文件:
[code]<?php
// create doctype
$dom = new DOMDocument('1.0', 'UTF-8');

$user_name=iconv('gbk','utf-8',$user_name);
$user_age=iconv('gbk','utf-8',$user_age);
$user_sex=iconv('gbk','utf-8',$user_sex);

// create root element
$root = $dom->createElement("msg");
//$root->setAttribute('ID',"123");
$id = $dom->createAttribute("id");
$idValue = $dom->createTextNode("123");
$id->appendChild($idValue);

$root->appendChild($id);
$dom->appendChild($root);

// create child element
$item = $dom->createElement("name");
$root->appendChild($item);

// create text node
$text = $dom->createTextNode($user_name);
$item->appendChild($text);

$item = $dom->createElement("age");
$root->appendChild($item);

$text = $dom->createTextNode($user_age);
$item->appendChild($text);

$item = $dom->createElement("sex");
$root->appendChild($item);

$text = $dom->createTextNode($user_sex);
$item->appendChild($text);

// save and display tree
echo $dom->saveXML();
?>[/code]
基于遗传算法的新的异构分布式系统任务调度算法研究(Matlab代码实现)内容概要:本文档围绕基于遗传算法的异构分布式系统任务调度算法展开研究,重点介绍了一种结合遗传算法的新颖优化方法,并通过Matlab代码实现验证其在复杂调度问题中的有效性。文中还涵盖了多种智能优化算法在生产调度、经济调度、车间调度、无人机路径规划、微电网优化等领域的应用案例,展示了从理论建模到仿真实现的完整流程。此外,文档系统梳理了智能优化、机器学习、路径规划、电力系统管理等多个科研方向的技术体系与实际应用场景,强调“借力”工具与创新思维在科研中的重要性。; 适合人群:具备一定Matlab编程基础,从事智能优化、自动化、电力系统、控制工程等相关领域研究的研究生及科研人员,尤其适合正在开展调度优化、路径规划或算法改进类课题的研究者; 使用场景及目标:①学习遗传算法及其他智能优化算法(如粒子群、蜣螂优化、NSGA等)在任务调度中的设计与实现;②掌握Matlab/Simulink在科研仿真中的综合应用;③获取多领域(如微电网、无人机、车间调度)的算法复现与创新思路; 阅读建议:建议按目录顺序系统浏览,重点关注算法原理与代码实现的对应关系,结合提供的网盘资源下载完整代码进行调试与复现,同时注重从已有案例中提炼可迁移的科研方法与创新路径。
【微电网】【创新点】基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度研究(Matlab代码实现)内容概要:本文提出了一种基于非支配排序的蜣螂优化算法(NSDBO),用于求解微电网多目标优化调度问题。该方法结合非支配排序机制,提升了传统蜣螂优化算法在处理多目标问题时的收敛性和分布性,有效解决了微电网调度中经济成本、碳排放、能源利用率等多个相互冲突目标的优化难题。研究构建了包含风、光、储能等多种分布式能源的微电网模型,并通过Matlab代码实现算法仿真,验证了NSDBO在寻找帕累托最优解集方面的优越性能,相较于其他多目标优化算法表现出更强的搜索能力和稳定性。; 适合人群:具备一定电力系统或优化算法基础,从事新能源、微电网、智能优化等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于微电网能量管理系统的多目标优化调度设计;②作为新型智能优化算法的研究与改进基础,用于解决复杂的多目标工程优化问题;③帮助理解非支配排序机制在进化算法中的集成方法及其在实际系统中的仿真实现。; 阅读建议:建议读者结合Matlab代码深入理解算法实现细节,重点关注非支配排序、拥挤度计算和蜣螂行为模拟的结合方式,并可通过替换目标函数或系统参数进行扩展实验,以掌握算法的适应性与调参技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值