【问题标题】:Pass Values into PHP variables from XML name space using SimpleXMLElement [duplicate]使用 SimpleXMLElement 将值从 XML 名称空间传递到 PHP 变量 [重复]
【发布时间】:2013-06-12 09:41:56
【问题描述】:

我有使用 SimpleXMLElement 的 XML 内容,并且出现了 var_dump 结果。

示例代码:

$data = new SimpleXMLElement($xml);
$data->registerXPathNamespace('ns','http://endpoint.websitecom/');
$part = $data->xpath("//ns:return");
var_dump($part[0]->children("ns",true));

我的结果:

object(SimpleXMLElement)[4]
  public 'result' => 
    object(SimpleXMLElement)[6]
      public 'result' => 
      object(SimpleXMLElement)[10]
      public 'Code' => string '0' (length=1)

  public 'amount' => string '2020.03' (length=7)
  public 'code2' => string '3934.8' (length=6)
object(SimpleXMLElement)[8]

如何将数量、code2 变量传递给 PHP 变量或数组?

$amount = ?????

$code2 = ????

【问题讨论】:

  • 可以添加xml结构吗?我不确定我是否理解正确。
  • 永远不要仅仅因为你没有得到任何答案而重复你自己的问题。它只会让你投反对票,你会失去潜在的朋友。
  • 安静许多我没有注意到它。我还找到了两个。 @hakre
  • 复制材料:stackoverflow.com/questions/12865858/… - 也是自复制器。

标签: php xml var-dump


【解决方案1】:

我用流动的 xml 代码编写了一个测试用例(在您的 var_dump 上进行了逆向工程):

<unknown xmlns:ns="http://endpoint.websitecom/">
 <ns:return>
  <ns:result>
   <ns:result>
    <ns:Code>0</ns:Code>
   </ns:result>
  </ns:result>
  <ns:amount>2020.03</ns:amount>
  <ns:code2>3934.8</ns:code2>
 </ns:return>
</unknown>

我在这里编写这段代码是为了获取$amount$code2

$data = new SimpleXMLElement($xml);
$data->registerXPathNamespace('ns','http://endpoint.websitecom/');
$part = $data->xpath("//ns:return");
$branch=$part[0]->children("ns",true);
var_dump($branch); // your current output

$amount=$branch->amount;
$code2 =$branch->code2;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多