xml格式文件如何生成(PHP生成和获取XML格式数据)

本文目录
PHP生成和获取XML格式数据
在做数据接口时 我们通常要获取第三方数据接口或者给第三方提供数据接口 而这些数据格式通常是以XML或者JSON格式传输 本文将介绍如何使用PHP生成XML格式数据供第三方调用以及如何获取第三方提供的XML数据
生成XML格式数据
我们假设系统中有一张学生信息表student 需要提供给第三方调用 并有id name sex age分别记录学生的姓名 性别 年龄等信息
CREATE TABLE `student` (
`id` int( ) NOT NULL auto_increment
`name` varchar( ) NOT NULL
`sex` varchar( ) NOT NULL
`age` *** allint( ) NOT NULL default
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf ;
首先 建立createXML php文件 先连接数据库 获取数据
include_once ( connect php ) //连接数据库
$sql = select * from student ;
$result = mysql_query($sql) or die( Invalid query: mysql_error())
while ($row = mysql_fetch_array($result)) {
$arr = array(
name =》 $row
sex =》 $row
age =》 $row
)
}
这个时候 数据就保存在$arr中 你可以使用print_r打印下数据测试
接着 建立xml 循环数组 将数据写入到xml对应的节点中
$doc = new DOMDocument( utf ) // 声明版本和编码
$doc 》formatOutput = true;
$r = $doc 》createElement( root )
$doc 》appendChild($r)
foreach ($arr as $dat) {
$b = $doc 》createElement( data )
$name = $doc 》createElement( name )
$name 》appendChild($doc 》createTextNode($dat))
$b 》appendChild($name)
$sex = $doc 》createElement( sex )
$sex 》appendChild($doc 》createTextNode($dat))
$b 》appendChild($sex)
$age = $doc 》createElement( age )
$age 》appendChild($doc 》createTextNode($dat))
$b 》appendChild($age)
$r 》appendChild($b)
}
echo $doc 》saveXML()
我们调用了PHP内置的类DOMDocument来处理与生成xml 最终生成的xml格式请点击这里看效果
《?xml version= encoding= utf ?》
《root》
《data》
《name》李王皓《/name》
《sex》男《/sex》
《age》 《/age》
《/data》
…
《/root》
获取XML格式数据
现在我们假设要从第三方获取学生信息 数据格式是XML 我们需要使用PHP解析XML 然后将解析后的数据显示或者写入本地数据库 而这里关键的一步是解析XML
PHP有很多中方法可以解析XML 其中PHP提供了内置的XMLReader类可以循序地浏览过xml档案的节点 你可以想像成游标走过整份文件的节点 并抓取需要的内容 使用XMLReader是高效的 尤其是读取非常大的xml数据 相对其他方法 使用XMLReader消耗内存非常少
header( Content type:text/; Charset=utf )
$url = // helloweba /demo/importXML/createXML php ;
$reader = new XMLReader() //实例化XMLReader
$reader 》open($url) //获取xml
$i= ;
while ($reader 》read()) {
if ($reader 》nodeType == XMLReader::TEXT) { //判断node类型
$m = $i% ;
if($m== )
$name = $reader 》value; //读取node值
if($m== )
$sex = $reader 》value;
if($m== ){
$age = $reader 》value;
$arr = array(
name =》 $name
sex =》 $sex
age =》 $age
)
}
$i++;
}
}
//print_r($arr)
lishixinzhi/Article/program/PHP/201311/21636广联达怎么生成xml格式
方法:选中项目名称---点击上方的【电子标】界面---点击工具栏生成招标/投标书---提示项目自检点确定---选择导出位置---点确定即可。如图:
点击生成投标书后会提示进行招标书/投标书自检,可检查工程中是否有编码单位不一致、综合单价不一致等,检查完成后有问题的地方可点击备注进行查看或者调整,然后点击取消,选择导出位置即可。如图:
备注:
1.不同省份、不同地区标准接口的工程,所生成的电子标的后缀格式各不相同。如:xml、YDB、HBZB、LNZBX、gczj、COS等等。
2.招标工程需要导出招标控制价时,可在电子标里给工程量清单和招标控制价同时打钩。
3.湖北除了宜昌地区,别的地区房屋修缮或者管廊维护房修或者管廊维护工程新版本是可以做但是需要招标方生成电子标调整。

更多文章:
在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)
2026年10月11日 05:20
countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)
2026年10月11日 03:30
正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)
2026年10月11日 03:00
orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)
2026年10月10日 23:00
display的用法(display是什么意思 详解display的含义和用法)
2026年10月10日 22:00
html全部居中代码(怎么让网页居中显示,html如何让网页居中)
2026年10月10日 21:10




