PHP XML属性解析

时间:2011-11-23 03:57:51

标签: php xml parsing

使用此处的代码: http://www.w3schools.com/php/php_xml_parser_expat.asp

如果XML文件是这样的话,你如何使用交换机(如果可能的话)获取属性:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to id="01">Tove</to>
<from id="02">Jani</from>
<heading color="#CEAF33">Reminder</heading>
<body type="small" important="low">Don't forget me this weekend!</body>
</note> 

2 个答案:

答案 0 :(得分:1)

您应该使用SimpleXML扩展,它更简单,更容易使用。

来自PHP文档:

<?php
$string = <<<XML
<a>
 <foo name="one" game="lonely">1</foo>
</a>
XML;

$xml = simplexml_load_string($string);
foreach($xml->foo[0]->attributes() as $a => $b) {
    echo $a,'="',$b,"\"\n";
}
?>

有关详细信息,请参阅http://au2.php.net/manual/en/book.simplexml.php

答案 1 :(得分:1)

我不会使用W3的教程。我使用simplexml_load_string将您的字符串加载到XML对象中,然后像这样迭代它:

$notes = simplexml_load_string( $xml);
foreach( $notes as $note)
{
    echo $note . "[" . $note->getName() . "]\n";
    foreach( $note->attributes() as $key => $value)
    {
        echo "\t" . $key . '=' . $value . "\n";
    }
    echo "\n";
}

Example(使用输入字符串)