如何从PHP中使用属性获取数据?

时间:2012-11-01 21:54:52

标签: php xml xmlreader

我有一个包含以下架构的XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<languages>
<language type="persian" abbr_type="fa">
    <menu>
        <home></home>
        <contact></contact>
        <about></about>
        <style></style>
    </menu>
    <title>
        <home></home>
        <contact></contact>
        <about></about>
        <style></style>
        <list></list>
        <biography></biography>
        <picture></picture>
        <movie></movie>
    </title>
    <about></about>
    <welcome></welcome>
</language>
<language type="english" abbr_type="en">
    <menu>
        <home></home>
        <contact></contact>
        <about></about>
        <style></style>
    </menu>
    <title>
        <home></home>
        <contact></contact>
        <about></about>
        <style></style>
        <list></list>
        <biography></biography>
        <picture></picture>
        <movie></movie>
    </title>
    <about></about>
    <welcome></welcome>
</language>

如果语言标签的属性是“波斯语”,我想获得标题数据

如何从XML获取一系列数据呢?有没有办法获取数据并放入数组?

1 个答案:

答案 0 :(得分:1)

  

有没有办法获取数据并放入数组?

是的,您可以使用DOMDocument&gt; http://php.net/manual/en/class.domdocument.php。它创建树状结构,您可以在其中轻松找到您要查找的内容。

实施例

$xml = new DOMDocument();
$xml->loadXML($xmlString);
$xmlNodeArray = $xml->getElementsByTagName('language');
foreach ($xmlNodeArray as $element) {
    if($element->getAttribute('type') == "persian") {
         // do something with that element
    }
}