比如有一个XML字符串 "<Address><to>James</to><from>Jani</form><heading>Reminder</heading></Address>", 我想用一段php处理后输出,Address
to:James
from:Jani
heading:Reminder注意,由于Address包含子节点,故它的值为空。方法不限,请大侠赐教一二。
to:James
from:Jani
heading:Reminder注意,由于Address包含子节点,故它的值为空。方法不限,请大侠赐教一二。
$xml = simplexml_load_string($s);
print_r((array)$xml);
Array
(
[to] => James
[from] => Jani
[heading] => Reminder
)
不能打印根几点 Address啊。
那你何不外面加一层呢?去分析"<t>your string……</t>",你会得到如下对象SimpleXMLElement Object
(
[Address] => SimpleXMLElement Object
(
[to] => James
[from] => Jani
[heading] => Reminder
))
#此处添加重复标签
//$listtags = explode(" ", "Address ");
$xml = <<<XML
<XML>
<Address>
<to>James</to>
<from>Jani</from>
<heading>Reminder</heading>
</Address>
</XML>
XML;
#将xml转换为数组
$tmparr = parse_xml_config($xml, "xml");
print_r($tmparr);
#Array ( [address] => Array ( [to] => James [from] => Jani [heading] => Reminder ) [encoding] => UTF-8 )
#将数组转换为xml
$tmpxml = dump_xml_config($tmparr, "xml", "utf-8");
echo "tmpxml-->>:<br>".$tmpxml;
#源码:
<?xml version="1.0" encoding="utf-8"?>
<xml>
<address>
<to>James</to>
<from>Jani</from>
<heading>Reminder</heading>
</address>
</xml>