【问题标题】:How could i parse this xml string with Simple Xml [closed]我怎么能用简单的 XML 解析这个 xml 字符串 [关闭]
【发布时间】:2011-08-16 22:13:33
【问题描述】:
<?xml version="1.0" encoding="UTF-8"?> 
<form>
    <field name=”name”>VALUE</field> 
    <field name=”lastname”>VALUE</field> 
    <field name=”country”>VALUE</field> 
    <field name=”usstate”>VALUE</field> 
    <field name=”email”>VALUE</field> 
    <field name=”password”>VALUE</field> 
    <field name=”type”>VALUE</field> 
    <field name=”iscustomer”>1|0</field> 
    <field name=”newsletter”>1|0</field> 
    <field name=”privacy”>1|0</field> 
    <field name="udid">VALUE</field> 
    <field name="hash">VALUE</field>
</form>

【问题讨论】:

标签: php xml simplexml


【解决方案1】:

为什么要投反对票?这是一个合理的问题,不是吗!?我见过更蠢的。

你想要:simplexml_load_string

$xmlString = ' your xml ';
$xml = simplexml_load_string($xmlString);
// jimy's code here

【讨论】:

  • 我也见过更蠢的,但我们的使命真的是让人们不用花 1 分钟时间看手册吗?
  • 好点 =) 同意。我撤销我的回答。
【解决方案2】:
$xml = simplexml_load_file('path_to_file');
foreach($xml->children() as $child){ 
     print_r($child);
}

【讨论】:

  • 致命错误:在非对象上调用成员函数 children()
  • @user663942:您检查文件的路径是否有效?
【解决方案3】:

您发布的 XML 实际上是不可读的 - 您在复制的示例中混合使用了双引号样式。如果你解决了这个问题,这段代码会将你想要的转换成一个关联数组:

<?php
$xml = simplexml_load_file("test.xml");
$values = array();
foreach($xml->children() as $child)
{ 
    $values[(string)$child->attributes()] = (string) $child[0];
}
print_r ($values);
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 2013-05-18
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多