PHP解析XML

1、XML Expat Parser

    使用xml_parse_into_struct解析XML,

$simple = "<para><note>simple note</note></para>";
$p = xml_parser_create();
xml_parse_into_struct($p, $simple, $vals, $index);
xml_parser_free($p);
echo "Index array\n";
print_r($index);
echo "\nVals array\n";
print_r($vals);

   XML Parser支持PHP4,适用于于使用老版本的系统。对于PHP5环境,还是优先考虑下面的方法吧

2 、SimpleXML

      使用simplexml_load_string函数解析xml

$string = <<<XML
<?xml version='1.0'?>
<document>
  <cmd>login</cmd>
  <login>imdonkey</login>
</document>
XML;

$xml = simplexml_load_string($string);
print_r($xml);
$login = $xml->login;//这里返回的依然是个SimpleXMLElement对象
print_r($login);
$login = (string) $xml->login;//在做数据比较时,注意要先强制转换
print_r($login);

        SimpleXML的优点是开发简单,缺点是它会将整个xml载入内存后再进行处理,所以在解析超多内容的xml文档    时    可能会力不从心。如果是读取小文件,而且xml中也不包含namespace,那SimpleXML是很好的选择。它是    PHP5提供的一套简易工具

你可能感兴趣的:(解析xml)