全部博文(2065)
分类:
2009-05-22 10:58:29
$hostname = "localhost";
$usr = "root";
$pw = "321";
$dbname = "db";
$id = $_GET["id"];
echo "";
if(!is_numeric($id)){
echo
"
exit;
}
$sql = "select * from host where id=".$id;
$link = mysql_connect($hostname,$usr,$pw);
if(!$link){
echo
"
exit;
}else{
mysql_query("set names gb2312");
mysql_select_db($dbname,$link);
$result = mysql_query($sql,$link);
if(mysql_num_rows($result) == 0) {
echo
"
die();
} else {
$str = "";
while($row = mysql_fetch_array($result)) {
$id = Trim($row["id"]);
$host = Trim($row["host"]);
$str = $str."
$str =
$str."
$str =
$str."
$str = $str."";
}
echo $str;
}
}
mysql_free_result($result);
mysql_close($link);
?>
2.PHP读取XML数据文件并解析出来项中的数据
$doc = new DOMDocument();
$doc->load( '' ); 请求的URL包含XML
$books = $doc->getElementsByTagName( "row" );
foreach( $books as $book ) { //遍历全部的数组数据
$authors = $book->getElementsByTagName( "id" );
$author = $authors->item(0)->nodeValue;
$publishers = $book->getElementsByTagName( "host" );
$publisher = $publishers->item(0)->nodeValue;
echo "$publisher - $author \n";
}
附:另一种方法解析 不过没有成功 先贴代码
/****************************************
*采用parse方法进行解析调用PHP内置的函数
*整理总结
parser是php内置的一个用来处理xml的解析器,它的工作由三个事件组成:
起始标签、 读取数据、结束标签。
也就是说在对xml进行处理的时候每当遇到起始标签、
数据和结束标签的时候函数会做相应的动作来完成对xml数据的转换。
******************************************/
?>
//开始定义好解析函数
$name = false;
$position = false;
function startElemnt($parser_instance,$element_name,$attrs) {
//处理起始标签事件函数
global $name,$position;
if($element_name == "name") { //表示标签如果是NAME则如下处理
$name = true;
$position = false;
echo "名字";
}
if($element_name == "position") {
$name = false;
$position = true;
echo "位置";
}
}
function characterData($parser_instance,$xml_data) {
//读取数据时的函数
global $name,$position;
if($position)
//因为之前调用过了标签开始处理函数会处理全局的变量值的
echo $xml_data."
";
if($name)
echo $xml_data."
";
}
function endElement($parser_instance,$element_name){
global $name,$position;
$name = false;
$position = false;
}
$parser = xml_parser_create(); //创建一个parser解析器
xml_set_element_handler($parser,"startElement","endElement");//设立标签触发函数
//我的理解:
xml_set_character_data_handler($parser,"characterData");
//我的理解:
$xml_file = "1.xml";
$filehandler= fopen($xml_file,"r"); //打开XML文件
while($data = fread($filehandler,9999)){
try{
if(!xml_parse($parser,$data,feof($filehandler))){
die(sprintf("xml error:%s at line %d",xml_error_string(xml_get_error_code($parser)),xml_get_current_line_number($parser)));
}
}catch(Exception $e){
echo "异常信息:".$e->getMessage();
}
}
//我的理解:开始解析此XML文档 每次取4096个字节处理
fclose($filehandler);
xml_parser_free($parser); //关闭解析器
?>
提示 有问题出现的。打不到事件处理函数 !郁闷呀