php xml解析无值,PHP-XML解析-缺少节点
我遇到了这样一个问题,即我的xml文件的某些节点已解析& ;;在未检测到其他人的情况下正确显示(至少我不知道这里出了什么问题)
我将提供link to it而不是发布xml文件.这是一个小的XML代码段供您查看xml结构:
World of Warcraft EU Pre-Paid Game Time Card 60 Days
EUR
现在,我正在使用此代码来解析/读取xml文件.
$xmlDOM = new DOMDocument();
$xmlDOM->load("http://inexus.us/compare.xml");
$document = $xmlDOM->documentElement;
foreach ($document->childNodes as $node) {
if ($node->hasChildNodes()) {
foreach($node->childNodes as $temp) {
echo $temp->nodeName."=".$temp->nodeValue."
";
}
}
}
使用该代码,我得到每个元件的名称
但是我还需要获取存储在o元素中的信息…(即id,url,price),但我不太了解如何访问它们.
输出也会返回几个#text =块. (我想这是由于xml中的空格引起的吗?)
输出的一小段代码:
#text=
#text=
o= World of Warcraft EU Pre-Paid Game Time Card 60 Days EUR
#text=
o= World of Warcraft EU Battle Chest cd-key EUR
#text=
o= World of Warcraft EU Cataclysm cd-key EUR
#text=
任何帮助/提示表示赞赏!
解决方法:
对于这样的XML文档,在SimpleXML中处理起来通常更容易.通常,您要查找的称为属性.在作为元素子元素的文本值旁边,元素还具有属性.
在SimpleXML中,访问非常简单:使用数组符号和字符串键访问元素的属性:
$game['id']; # id attribute of $game (here the element)
要访问一个孩子(通常只有一个孩子,例如< name>),可以通过其child-element-name来访问它:
$game->name; # (first) name child element of $game
并且如果您在字符串上下文中使用它(例如,作为字符串参数; echo或强制转换(字符串)$game->名称),它将返回的不是元素,而是内部的文本值.
这是一些示例代码(也使用简单的xpath):
$url = 'http://inexus.us/compare.xml';
$xml = simplexml_load_file($url);
foreach($xml->xpath('/*/group/o') as $index => $game)
{
printf("[%04d] %' -48s %' 5s %s\n \n",
$game['id'], # id attribute
trim($game->name), # name child text value
$game['price'], # price attribute
trim($game->currency), # currency child text value
$game['url'] # url attribute
);
}
这是输出:
[0001] World of Warcraft EU Pre-Paid Game Time Card 60 Days 21.43 EUR
[0003] World of Warcraft EU Battle Chest cd-key 10.31 EUR
[0668] World of Warcraft EU Cataclysm cd-key 6.18 EUR
[0954] World of Warcraft EU Mists of Pandaria cd-key 18.80 EUR
[0988] World of Warcraft EU Battle Chest + Cataclysm cd-key 15.48 EUR
[0018] Eve Online Pre-Paid Card 60 Days Special Edition 28.40 EUR
[0766] Eve Online +30 Days cd-key 11.60 EUR
[1057] Eve Online Pre-Paid Card 60 Days 25.82 EUR
[0029] Sony Online Pre-Paid 30 days EU 14.19 EUR
...
标签:dom,xml,parsing,php
来源: https://codeday.me/bug/20191031/1973633.html
php xml解析无值,PHP-XML解析-缺少节点相关推荐
- python解析返回值类型为xml的数据接口
样参 <?xml version="1.0" encoding="UTF-8"?>-<root><state>success ...
- Retrofit使用SimpleXmlConverterFactory解析xml之无坑版(无坑有效期:暂定17年底)
假设服务器端的xml文件是这样的 <?xml version="1.0" encoding="UTF-8"?><oschina>< ...
- Java基础加强重温_13:XML(可拓展标记语言)、XML语法、XML约束、XML解析(Dom4j,JAXP)、Dom4j基本使用、Xpath表达式(XML路径语言)、XML解析综合案例
摘要 Java基础加强重温_13: XML(可拓展标记语言.作用:小型数据库.框架配置文件.不同平台数据交换). XML语法(文档.标签/元素.属性.注释.转义字符.CDTA区) XML约束(DTD约 ...
- iOS基础-数据解析方法初步总结-(XML,JSON欢迎指正)
小时候的记忆与大家一起分享,愿君安好! 解析的基本概念 解析: 从事先规定好的格式中提取数据 解析的前提: 提前约定好格式,数据提供方按照格式提供数据,数据获取方则按照格式获取数据 OS开发常见的解析 ...
- Android使用SAX实现XML解析,使用text/xml格式与后台交互
这篇博文正式发表于2015-02-16 14:20,现在显示的创建时间2015-02-05 10:07是当初写草稿的时间 一.SAX解析XML 1,首先展示一下要写入以及解析的xml的文件格式: &l ...
- 您如何在PHP中解析和处理HTML / XML?
如何解析HTML / XML并从中提取信息? #1楼 QueryPath很好,但是要小心"跟踪状态",因为如果您没有意识到这意味着什么,那可能意味着您浪费了大量的调试时间来试图找出 ...
- XML系列之--解析电文格式的XML(二)
上一节介绍了XML的结构以及如何创建.讲到了XML可作为一种简单文本存储数据,把数据存储起来,以XML的方式进行传递.当接收到XML时,必不可少的就是对其进行解析,捞取有效数据,或者将第三方数据以节点 ...
- Xml 格式数据的生成和解析
相关阅读 XML约束 Xml 格式数据的生成和解析 XML解析器 什么是XML XML全称为Extensible Markup Language, 意思是可扩展的标记语言,它是 SGML(标准通用标记 ...
- XML学习笔记02【xml_解析】
Java后端 学习路线 笔记汇总表[黑马程序员] XML学习笔记01[xml_基础.xml_约束][day01] XML学习笔记02[xml_解析][day01] 目录 03 xml_解析 xml_解 ...
最新文章
- linux rpm找不到命令_linux环境下 python环境import找不到自定义的模块
- 知否,知否,交通数据邂逅【数据故事计划二等奖】
- [转] 图 + 文 + 公式 理解LSTM
- c++ stl之pirority_queue
- nginx 支持h265 的 rtmp和hls,http-flv
- 梯度下降与delta法则
- 网络:TCP维护安全可靠机制提供的定时器
- layuimini 图标颜色便捷指定
- 在线教学视频的设计与实现
- leetcode—14.链表反转类题目python解答
- 色板游戏(洛谷 1558)
- 北京限行轮换时间7月5日起,北京新一轮尾号限行规定用便签提醒
- unity 敌人朝向主角
- item的介绍与使用-2.0
- 元数据管理 开源项目技术选型
- 常见英文缩写小节-江晚正愁余-iteye技术网站
- 检测号码是否开通微信如何做?
- 在智能手机上跟踪ADS-B系统的飞机航线信息
- DeepTech深科技专访丨分布式系统开源项目领跑者Alluxio获5000万美元C轮融资
- Android 多窗口实现