Zend_Config_Xml получить значение из тега с атрибутами - PullRequest
0 голосов
/ 06 февраля 2012

У меня есть XML как это:

<?xml version="1.0"?>
<configdata>
<data>
<data_name lang="en">Some name4</data_name>
</data>
</configdata>

Для разбора я использую Zend_Config_Xml:

$config = new Zend_Config_Xml($dir.$file,'data');

Затем я конвертирую данные в массив:

print_r($config->toArray());

Но по результату я не вижу значения из тега data_name Я вижу только атрибут lang . Как получить значение из тега? Возможно ли, или я должен разобрать XML-файл, используя DOMXML на PHP.

1 Ответ

0 голосов
/ 06 февраля 2012

Я тестировал ваш код, и действительно, я не смог получить 'Some name4'.После прочтения http://framework.zend.com/manual/en/zend.config.adapters.xml.html кажется, что вы не можете легко смешивать атрибуты и теги.Итак, если вы хотите получить и язык, и имя: я сделал этот XML:

 <?xml version="1.0"?> <configdata>
  <data>
      <data_name>
          <name>Some name4</name>
          <lang>en</lang>
      </data_name>
  </data> </configdata>

Когда вы хотите, чтобы значение 'Some name4' было только при наличии определенного языка, вы можете использовать этот XML:

<?xml version="1.0"?> <configdata>
<data>
    <data_name>
        <en>
            <name>Some name4</name>
        </en>
    </data_name>
</data> </configdata>

Я думаю, что я предпочитаю первый XML из-за его общих тегов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...