如何获取XML二级标签type的name属性值?
如何获取XML中type标签的name属性值
方法一:直接使用SimpleXML处理(更简便)
不需要把XML转成JSON再转数组,SimpleXML本身支持直接读取属性,代码如下:
$xml = simplexml_load_file('types.xml','SimpleXMLElement',LIBXML_NOCDATA); // 获取单个type标签的name属性,转成字符串得到实际值 $typeName = (string)$xml->type['name']; echo $typeName; // 输出:ACOGOptic
SimpleXMLElement对象中,元素的属性可以通过['属性名']直接访问,强制转成字符串是为了获取属性的实际文本值(默认返回SimpleXMLElement实例)。
方法二:基于你已有的数组转换方式获取
如果坚持使用数组形式处理,JSON转数组后,XML属性会被封装在@attributes键下,直接按路径访问即可:
$xml = simplexml_load_file('types.xml','SimpleXMLElement',LIBXML_NOCDATA); $json = json_encode($xml); $array = json_decode($json,TRUE); // 从数组中提取name属性 $typeName = $array['type']['@attributes']['name']; echo $typeName; // 输出:ACOGOptic
内容的提问来源于stack exchange,提问作者ChrisYates
相关产品推荐
相关产品推荐

