javascript - 从 php->mysql 中的 xml 深度节点
问题描述
我有一个 XML 文件。
我想将数据从它添加到 MySQL,但我有问题。
我要添加的数据很深,在"offers"
选项卡中。
所需的附加对象写为"<offer ......>"
.
有很多参数,例如(name model picture price url ....)
.
我根本无法得到它们,我能得到的最大值"name"
来自"<shop>"
.
如何找到“音乐中心”?
<?php
echo 'ver 3000';
$url = "http://myurlwebsite.com/333.xml";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data2 = curl_exec ($ch);
curl_close($ch);
echo ' [NEW STRING] ';
//$easy = stristr($data2, '<delivery-options');
$xml = simplexml_load_string($data2);
foreach ($xml -> offer as $row) {
echo '+';
$name = $row -> name;
echo $name;
}
?>
解决方案
如果您想访问这些<offer>
信息,那么您需要指定从文档基础到您之后的数据的路径。请注意,在 SimpleXML 中,根元素<yml_catalog>
就是$xml
您的情况。
foreach ($xml->shop->offers->offer as $row) {
echo '+';
$name = $row -> name;
echo $name;
}
推荐阅读
- apache-flink - Flink:在 Flink 作业中处理异常的最佳方法是什么
- docker - Dockerized terraform 和 tfstate
- vuejs2 - 如何使用 Vue.js 从单个文件组件中的方法访问计算属性
- java - Android XML Layout Inflater 和抽象类
- html - Css 绘图 - 自定义鼻子形状
- node.js - 在 AWS Lambda 中使用 Node.js 流上传音频文件
- java - 如何解决此问题“无法解决 ':app@debug/compileClasspath' 的依赖关系:无法解析 com.github.Goodiebag:PinView:v1.3。”
- java - AnyLogic:使用代码创建矩形墙
- ios - 有没有办法确定 WKWebView 或 SFSafariViewController 视图中某个点的元素是什么?
- camera - Aframe VR:眼偏移设置