如何将值从 xml 提取到 php [关闭]
Posted
技术标签:
【中文标题】如何将值从 xml 提取到 php [关闭]【英文标题】:How to extract value from xml to php [closed] 【发布时间】:2019-02-24 10:54:44 【问题描述】:<?xml version="1.0"?>
<ABCD xmlns="http://abcd.com">
<PRODUCT xmlns="">
<CNHEADER>
<CNTRACK>true</CNTRACK>
<FIELD name="PRODUCTNO" value="BK201122"/>
<FIELD name="ProductType" value="DP"/>
<FIELD name="strProdCode" value="NL1754"/>
这里我要的是 PRODUCTNO 的值等等。
我试过了,但仍然没有得到任何输出
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url); // get the url contents
$data = curl_exec($ch); // execute curl request
curl_close($ch);
$xml = simplexml_load_string($data);
echo $value = (string) $xml->FIELD[0]->attributes()->name;
【问题讨论】:
你好 Ravi,你应该看看 XML Parser 实用程序(如 SimpleXML):php.net/manual/fr/simplexml.examples-basic.php PHP How to read XML Child Node Value in a String using PHP?的可能重复 请在发帖前做一些适当的研究和尝试。有很多关于使用 PHP 阅读 XML 的指南(以及这里的 SO)。首先尝试其中任何一个。如果您仍然无法使其正常工作,欢迎您回来向我们展示您的尝试,解释您遇到的问题,我们可以从那里帮助您,但我们不会为您编写所有内容。 您只是在索要代码,而 SO 不是免费的编码服务。您应该编写自己的代码。如果您在现有代码中遇到特定问题,我们可以为您提供帮助。请访问the help center 并阅读指南。 你读过@Tom Udding 发表的评论吗?所以尝试该解决方案,然后询问您是否有一些错误 【参考方案1】:使用SimpleXMLElement()
你可以从xml字符串中获取你的产品数据; ref
// Your xml string
$xmlString = '<?xml version="1.0"?>
<ABCD xmlns="http://abcd.com">
<PRODUCT xmlns="">
<CNHEADER>
<CNTRACK>true</CNTRACK>
<FIELD name="PRODUCTNO" value="Z41346020"/>
<FIELD name="ProductType" value="DP"/>
<FIELD name="strProdCode" value="NL1754"/>
</CNHEADER>
</PRODUCT>
</ABCD>';
$xmlData = new SimpleXMLElement($xmlString);
$productData = [];
foreach ($xmlData->PRODUCT->CNHEADER->FIELD as $productField)
$productData[(string)$productField'name'] = (string)$productField'value';
echo "<pre>";
print_r($productData);
exit;
你会得到以下输出
// Output
Array
(
[PRODUCTNO] => Z41346020
[ProductType] => DP
[strProdCode] => NL1754
)
【讨论】:
以上是关于如何将值从 xml 提取到 php [关闭]的主要内容,如果未能解决你的问题,请参考以下文章