如何将值从 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 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何将值从片段/活动传递到 xml?

如何使用会话将值从一个php页面传递到另一个页面

如何将值从一个php页面传递到另一个? [复制]

如何在同一页面内将值从 Js 传递到 PHP [重复]

将值从 php 传递到 modal

关闭时将值传递给视图控制器时出错 |斯威夫特 5