php获取xml节点,js获取xml节点属性

发布时间:2022-11-25

本文目录一览:

  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>
        <old>28</old>
    </zhangying>
    <tank>
        <name>tank</name>
        <sex>男</sex>
        <old>28</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 获取节点的文本内容(不确定是否是该属性,请查阅相关文档)。

getelementsbytagname,Php怎么读取xml中指定节点的指定名称的属

首先,你的 XML 文件缺少根元素,version 后面没有 " 结尾。 解析思路如下:

  1. 使用 simplexml_load_stringsimplexml_load_file('test.xml') 读取 XML。
  2. 使用 get_object_vars 将对象转为数组。
  3. 遍历数组,找到对应值之间的关系。 示例函数如下:
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 = "<?xml version='1.0' encoding='UTF-8'?><xml><name>来自上海</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中数据

将 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);