phpphp取出xml数据,php解析xml数据

本文目录一览:

PHP读取XML数据

编码问题,function

characterData改成如下

function

characterData($parser_instance,

$xml_data)

{

global

$name,$position;

$xml_data=iconv(“utf-8″,”gb2312”,$xml_data);//转换成gb2312

if($position)

echo

$xml_data.”br”;

if($name)

echo

$xml_data.”br”;

}

显示的那个页面也要有charset=gb2312

PHP 获取XML数据

给个小例子:

1.直接是xml字符串

?php

$string = XML

?xml version=’1.0′? 

document

 titleForty What?/title

 fromJoe/from

 toJane/to

 body

  I know that’s the answer — but what’s the question?

 /body

/document

XML;

$xml = simplexml_load_string($string);

print_r($xml);

2. xml文件的

?php

if (file_exists(‘test.xml’)) {

    $xml = simplexml_load_file(‘test.xml’);

 

    print_r($xml);

} else {

    exit(‘Failed to open test.xml.’);

}

?

如何通过PHP生成和获取XML格式数据

1自己拼,XML编码

?php

header(‘Content-type:text/xml’);

echo “?xml version=’1.0′ encoding=’utf-8′”;

echo “book”;

echo “PHP”;

echo “namePHP程序开发范例宝典/name”;

echo “price 单位=’元/本’89.00/price”;

echo “date2007-09-01/date”;

echo “/PHP”;

echo “/book”;

?

拼接的效果

2从数据库中查询再拼XML编码

?php

$dsn=”mysql:host=localhost;dbname=test”;

try {

$pdo = new PDO($dsn,’root’,’passwowd’); //初始化一个PDO对象,就是创建了数据库连接对象$pdo

$query=”select * from book”;   //定义SQL语句

$pdo-query(‘set names utf8’);

$result=$pdo-prepare($query); //准备查询语句

$result-execute();       //执行查询语句,并返回结果集

$arr=”;

while($res=$result-fetch()){

$arr.=’PHPid’.$res[0].’/idname’.$res[1].’/namedate’.$res[2].’/date’.’price’.$res[3].’/price/PHP’;

}

echo “?xml version=’1.0′ encoding=’utf-8′?book”.$arr.’/book’;

} catch (PDOException $e) {

die (“Error!: “.$e-getMessage().”br”);

}

?

拼接的效果

3使用ajax获取,DOM解析

!DOCTYPE html

html lang=”en”

head

meta charset=”UTF-8″

titlexml/title

/head

body

script

function check(){

var xhr=new XMLHttpRequest();

xhr.open(‘GET’,’xml.php’);

xhr.onreadystatechange=function(){

if(xhr.readyState==4 xhr.status==200){

console.log(xhr.responseText);

//初始化 DOM解析对象

var domParser = new DOMParser();

//字符串解码为对象

var xmlDoc = domParser.parseFromString(xhr.responseText,’text/xml’);

//按标签名获取元素 返回数组

var elements = xmlDoc.getElementsByTagName(‘PHP’);

//拼接html格式字符串

var str =’trthid/ththname/ththdate/ththprice/th/tr’;

for (var i=0;ielements.length;i++){

var id=elements[i].getElementsByTagName(‘id’)[0].firstChild.nodeValue;

var name=elements[i].getElementsByTagName(‘name’)[0].firstChild.nodeValue;

var date=elements[i].getElementsByTagName(‘date’)[0].firstChild.nodeValue;

var price=elements[i].getElementsByTagName(‘price’)[0].firstChild.nodeValue;

str+= ‘trtd’+id+’/tdtd’+name+’/tdtd’+date+’/tdtd’+price+’/td/tr’;

}

document.getElementById(‘table2’).innerHTML=str;

}

};

xhr.send(null);

}

/script

button onclick=”check();”点我/button

table id=”table2″ border=”2″ cellspacing=”0″

/table

/body

/html

效果

1

2

补充:

使用JSON

1数据库查询,自己拼 JSON 编码

?php

$dsn=”mysql:host=localhost;dbname=test”;

try {

$pdo = new PDO($dsn,’root’,’password’); //初始化一个PDO对象,就是创建了数据库连接对象$pdo

$query=”select * from book”;   //定义SQL语句

$pdo-query(‘set names utf8’);

$result=$pdo-prepare($query); //准备查询语句

$result-execute();       //执行查询语句,并返回结果集

$a=$arr=”;

while($res=$result-fetch()){

$arr.='{“id”:’.'”‘.$res[0].'”,’.'”name”:’.'”‘.$res[1].'”,’.'”time”:’.'”‘.$res[2].'”,’.'”jia”:’.'”‘.$res[3].'”,’.'”zhe”:’.'”‘.$res[4].'”,’.'”chu”:’.'”‘.$res[5].'”},’;

}

echo $a=”[“.substr($arr,0,strlen($arr)-1).”]”;

} catch (PDOException $e) {

die (“Error!: “.$e-getMessage().”br”);

}

?

2数据库查询,函数 JSON 编码

?php

$dsn=”mysql:host=localhost;dbname=test”;

try {

$pdo = new PDO($dsn,’root’,’password’); //初始化一个PDO对象,就是创建了数据库连接对象$pdo

$query=”select * from book”;   //定义SQL语句

$pdo-query(‘set names utf8’);

$result=$pdo-prepare($query); //准备查询语句

$result-execute();       //执行查询语句,并返回结果集

$res=$result-fetchAll();

//JSON 编码

echo json_encode($res);

} catch (PDOException $e) {

die (“Error!: “.$e-getMessage().”br/”);

}

?

效果

3ajax获取,JSON解析

!DOCTYPE html

html lang=”en”

head

meta charset=”UTF-8″

titleJSON/title

/head

body

script

function check() {

var XHR = new XMLHttpRequest();

XHR.open(‘GET’,’JSON.php’);

XHR.onreadystatechange = function (){

if(XHR.readyState == 4 XHR.status ==200){

var books =JSON .parse(XHR.responseText);

var books2=’trthid/ththbookname/ththtime/ththprice/ththmarker/ththpublisher/th/tr’

for (var i=0;ibooks.length;i++){

books2+= ‘trtd’+(books[i ].id)+’/tdtd’+(books[i ].name)+’/tdtd’+(books[i ].time)+’/tdtd’+(books[i ].jia)+’/tdtd’+(books[i ].zhe)+’/tdtd’+(books[i ].chu)+’/td/tr’;

}

document.getElementById(‘table2’).innerHTML=books2;

}

};

XHR.send(null);

}

/script

input type=”button” value=”点我” onclick=”check();”

table id=”table2″ border=”2″ cellspacing=”0″/table

/body

/html

php如何获取xml数据包

//提取XML数据源

$xmlUrl= ”;

echo $xmlUrl;

$curl= curl_init();

curl_setopt($curl, CURLOPT_URL, $xmlUrl);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);

curl_setopt($curl, CURLOPT_HEADER, 0);

$xmlData= curl_exec($curl);

curl_close($curl);

//判断XML编码

if(preg_match(“/encoding\=[\’\”](.*?)[\’\”]/i”, $xmlData, $encoding)){

$encoding = $encoding[1];

}else{

$encoding = mb_detect_encoding($xmlData, array(‘ASCII’, ‘GBK’, ‘GB2312’, ‘UTF-8’, ‘iso-8859-1’));

}

echo $encoding;

//转换XML编码

if($encoding){

$xmlData = preg_replace(‘/encoding\=[\’\”](.*?)[\’\”]/i’, ‘encoding=”utf-8″‘, $xmlData);

switch(strtolower($encoding)){

case ‘utf-8’: break;

case ‘iso-8859-1’:

$xmlData = utf8_encode($xmlData);

break;

default:

$xmlData = iconv($encoding, ‘UTF-8//IGNORE’, $xmlData);

break;

}

}

$xmlData= simplexml_load_string($xmlData);

print_r($xmlData);

怎么用php提取xml文件内容

创建一个以.xml结尾的文档

内容如下:

?xml version=”1.0″ encoding=”utf-8″?

class

student info=”美女”

name小乔/name

sex女/sex

age20/age

/student

student

name周瑜/name

sex男/sex

age25/age

/student

student

namehsy/name

sex男/sex

age21/age

/student

/class

创建以.php结尾的文件:代码如下:

?php

header(‘content-type:text/html;charset=utf-8’);

//1、创建一个DOMDocument对象。该对象就表示 xml文件

$xmldoc = new DOMDocument();

//2、加载xml文件(指定要解析哪个xml文件,此时dom树节点就会加载到内存中)

$xmldoc-load(“class.xml”);

//3、目标:获取第一个学生的名字

$stu = $xmldoc-getElementsByTagName(“name”);//直接找到节点name

$stu1 = $stu-item(0);// item(1)时,可以取到周瑜

$sex=$xmldoc-getElementsByTagName(“sex”);

$sex1= $sex-item(0);

echo $sex1-nodeValue;

echo $stu1-nodeValue;

?

结果显示为:女小乔

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/300721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-29 12:52
下一篇 2024-12-29 12:52

相关推荐

  • Python读取CSV数据画散点图

    本文将从以下方面详细阐述Python读取CSV文件并画出散点图的方法: 一、CSV文件介绍 CSV(Comma-Separated Values)即逗号分隔值,是一种存储表格数据的…

    编程 2025-04-29
  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python中读入csv文件数据的方法用法介绍

    csv是一种常见的数据格式,通常用于存储小型数据集。Python作为一种广泛流行的编程语言,内置了许多操作csv文件的库。本文将从多个方面详细介绍Python读入csv文件的方法。…

    编程 2025-04-29
  • 如何用Python统计列表中各数据的方差和标准差

    本文将从多个方面阐述如何使用Python统计列表中各数据的方差和标准差, 并给出详细的代码示例。 一、什么是方差和标准差 方差是衡量数据变异程度的统计指标,它是每个数据值和该数据值…

    编程 2025-04-29
  • Python多线程读取数据

    本文将详细介绍多线程读取数据在Python中的实现方法以及相关知识点。 一、线程和多线程 线程是操作系统调度的最小单位。单线程程序只有一个线程,按照程序从上到下的顺序逐行执行。而多…

    编程 2025-04-29
  • Python两张表数据匹配

    本篇文章将详细阐述如何使用Python将两张表格中的数据匹配。以下是具体的解决方法。 一、数据匹配的概念 在生活和工作中,我们常常需要对多组数据进行比对和匹配。在数据量较小的情况下…

    编程 2025-04-29
  • Python爬取公交数据

    本文将从以下几个方面详细阐述python爬取公交数据的方法: 一、准备工作 1、安装相关库 import requests from bs4 import BeautifulSou…

    编程 2025-04-29
  • Python数据标准差标准化

    本文将为大家详细讲述Python中的数据标准差标准化,以及涉及到的相关知识。 一、什么是数据标准差标准化 数据标准差标准化是数据处理中的一种方法,通过对数据进行标准差标准化可以将不…

    编程 2025-04-29
  • 如何使用Python读取CSV数据

    在数据分析、数据挖掘和机器学习等领域,CSV文件是一种非常常见的文件格式。Python作为一种广泛使用的编程语言,也提供了方便易用的CSV读取库。本文将介绍如何使用Python读取…

    编程 2025-04-29
  • Python如何打乱数据集

    本文将从多个方面详细阐述Python打乱数据集的方法。 一、shuffle函数原理 shuffle函数是Python中的一个内置函数,主要作用是将一个可迭代对象的元素随机排序。 在…

    编程 2025-04-29

发表回复

登录后才能评论