本文目录一览:
- 1、php如何获取xml根节点名称
- 2、关于PHP解析XML怎么通过属性查找到指定节点
- 3、getelementsbytagname,Php怎么读取xml中指定节点的指定名称的属
- 4、PHP获取xml中值的几种方法简单总结
- 5、PHP如何取XML中数据
php如何获取xml根节点名称
?xml version="1.0 encoding="UTF-8"?
humans
zhangying
name张映/name
sex男/sex
old28/old
/zhangying
tank
nametank/name
sex男/sex
old28/old
/tank
/humans
simplexml读取xml
?php
$xml_array=simplexml_load_file('person.xml'); //将XML中的数据,读取到数组对象中
foreach($xml_array as $tmp){
echo $tmp-name."-".$tmp-sex."-".$tmp-old."br";
}
?
关于PHP解析XML怎么通过属性查找到指定节点
定义XmlDocument对象xml XmlElement elem=xml.GetElementsByTagName("DTVActionWindow1")[0]; elem是该节点的对象 elem.Text//不知道是不是这个属性,查查看 可以获得3
getelementsbytagname,Php怎么读取xml中指定节点的指定名称的属
首先,你的xml文件,缺少root元素,version后边没有"结尾。
然后是你解析的思路是:
先用simplexml_load_string或者$xml = simplexml_load_file('test.xml');
,读取xml,然后用get_object_vars,转成数组,然后根据数组,找出对应关系,或者在生成数组的时候直接写成‘lisan’='no';这个关系。简单点就是直接读成数组,然后遍历,找到对应的值之间的关系就OK
用到的函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function getXmlData ($strXml) {
$pos = strpos($strXml, 'xml');
if ($pos) {
$xmlCode=simplexml_load_string($strXml,'SimpleXMLElement', LIBXML_NOCDATA);
$arrayCode=get_object_vars_final($xmlCode);
return $arrayCode ;
} else {
return '';
}
}
function get_object_vars_final ($obj)
{
if (is_object($obj)) {
$obj = get_object_vars($obj);
}
if (is_array($obj)) {
foreach ($obj as $key = $value) {
$obj[$key] = get_object_vars_final($value);
}
}
return $obj;
}
PHP获取xml中值的几种方法简单总结
php 中有个内置类可以用来操作XML, 简单说下
$xmlData = "xmlname来自上海/name/xml"; // xml 数据
$doc = new DOMDocument();
$doc - loadXML($xmlData); // 加载XML数据
$root = $doc - documentElement; // 获取根节点对象
$items = $root - getElementsByTagName('name'); // 获取 name 节点
echo $items[0] - nodeValue; // 输出获取到的所有节点中的第一个节点的值
foreach ($items as $value) {
echo $value - nodeValue; // 输出节点中的值
}
PHP如何取XML中数据
转成数组
?php/*** function:使用字符串方式读XML文件* author:JetWu* date:2016.12.03**/$file = './write_str.xml';$con = file_get_contents($file); //XML标签配置$xmlTag = array( 'starttime', 'endtime', 'school'); $arr = array();foreach($xmlTag as $x) { preg_match_all("/".$x.".*\/".$x."/", $con, $temp); $arr[] = $temp[0];}//去除XML标签并组装数据$data = array();foreach($arr as $key = $value) { foreach($value as $k = $v) { $a = explode($xmlTag[$key].'', $v); $v = substr($a[1], 0, strlen($a[1])-2); $data[$k][$xmlTag[$key]] = $v; }}echo 'pre';print_r($data);