`
小嘴看世界
  • 浏览: 131485 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

PHP中使用DOM

    博客分类:
  • Web
阅读更多
帮别人修改了一个PHP中创建xml的ajax程序,感觉很是罗嗦,自己对PHP也不是太了解,也都是通过google才最终完成,总算是实现了功能。
一共只有两个文件,一个html页面,还有一个服务器端文件
首先是html,填写姓名、年龄、性别,然后服务器接受返回xml格式,并解析显示在test的后面。
html文件:
<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>


PHP文件:
<?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();
?>
  • ajax.rar (1.5 KB)
  • 描述: src
  • 下载次数: 5
分享到:
评论
2 楼 小嘴看世界 2007-04-04  
拿一个节点使用getElementsByTagName就可以了
1 楼 ddbird 2007-04-03  
问下,如何拿 tag的name?

相关推荐

    PHP使用 DOMDocument 生成XML的示例程序文件

    PHP 提供了多种方式来生成和操作 XML 数据。这些功能非常强大,允许你创建、读取、修改和保存 XML 文档。在 PHP 中生成 XML 的常用方法包括使用 DOM...本压缩包即是PHP中使用 DOMDocument 生成XML的示例程序文件。

    php中使用DOM类读取XML文件的实现代码

    主要功能:php中使用DOM类读取XML文件 设计知识点: 1、XML节点循环读取 2、用iconv()函数实现编码转换,防止中文乱码 holiday.xml文件如下 复制代码 代码如下: &lt;?xml version=”1.0″ encoding=”UTF-8″?&gt; ...

    xml存储留言方案php版-实现分页(源代码)

    PHP中处理XML文件通常使用DOM(Document Object Model)库,如`DOMDocument`和`DOMXPath`。`notes.php`可能会使用这些类来解析XML,提取所需数据。例如,使用DOMXPath查询所有留言: ```php $xml = new DOMDocument...

    php怎么得到dom元素.docx

    下面将详细讲解如何在PHP中使用DOMDocument来获取和操作DOM元素。 首先,我们需要了解DOMDocument类的一些主要属性和方法: 1. **属性**: - `Attributes`: 存储节点的属性列表,只读。 - `childNodes`: 存储...

    simple_html_dom,php下的html文件DOM解析库

    PHP Simple HTML DOM Parser是一个轻量级且易于使用的库,它允许开发者像操作DOM对象一样方便地处理HTML文档,同时也支持jQuery风格的选择器,使得对HTML元素的操作更加直观。本文将详细讲解这个库的核心概念、功能...

    在PHP5里使用domxml的PHP4代码

    PHP5对domxml的支持与php4不同,比如这些函数就没有了 domxml_new_doc domxml_new_xmldoc domxml_open_file 使用这个代码就可以在php5里继续使用php4里的domxml函数

    PHP Simple HTML DOM Parser 中文手册

    simple_html_dom中文解析手册

    simple html dom php

    PHP(Hypertext Preprocessor)是一种开源的服务器端脚本语言,特别适合于Web开发,可嵌入到HTML中使用。PHP能够处理表单数据、生成动态网页内容、访问数据库等,为网页数据采集提供基础支持。 2. **HTML DOM解析*...

    php simple html dom

    php simple html dom

    php dom 解析类和函数文件封装

    例如,`find()`方法可以用来查找匹配CSS选择器的元素,而`getElementById()`和`getElementsByTagName()`等方法则对应于DOM中的方法,方便我们根据ID或标签名选取元素。 2. **HTML解析与操作**:使用`simple_...

    PHP实现使用DOM将XML数据存入数组的方法示例

    以下内容将详细介绍PHP中使用DOM将XML数据存入数组的方法。 首先,为了使用DOM扩展,确保PHP环境已启用DOM扩展。接下来,创建一个`DOMDocument`对象,并指定XML的版本和编码。通过`load`方法加载XML文件,然后可以...

    PHP Simple HTML DOM解析器使用入门

    ### PHP Simple HTML DOM 解析器使用入门 #### 一、简介 在Web开发领域,解析HTML文档是一项常见的任务。PHP Simple HTML DOM Parser是一款强大的库,它简化了这一过程,使得开发者能够更加高效地处理HTML文档。该...

    PHP100视频教程90:PHP DOM 创建生成多功能 XML文件

    在这一教程中,我们将深入探讨如何使用PHP的DOM扩展来创建和操作XML文件。XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,它具有结构化、自描述性的特点,使得数据易于解析和处理。PHP DOM...

    用PHP读取和编写XML DOM

    在PHP中,有多种方法来处理XML,包括使用DOM库、SAX解析器和正则表达式。DOM(Document Object Model)库是其中最常用的一种,它将整个XML文档加载到内存中,形成一棵节点树,便于遍历和操作。 例如,要读取清单1中...

    HtmlDom.rar_HTML dom_PHP HTMLdom

    HTML DOM(Document Object Model)是HTML和XML文档的树型结构表示,它为网页提供了一种标准的编程接口,使得开发者可以通过JavaScript或PHP等语言来操作网页中的元素,实现动态更新、添加、删除以及修改页面内容。...

Global site tag (gtag.js) - Google Analytics