PHP-Fusion
v.7.01
AP-Fusion
v7.02.03
Pimped-Fusion-AP
v0.09.03
февраля 12 2012 05:21:53
Навигация
· Новости
· Статьи
· Скачать
· Форум
· Ссылки
· Категории новостей
· Обратная связь
· Галерея
· Поиск
· Гостевая
· Коллекция аватар
· CMS AP-Fusion. Отличия от PHP-Fusion
· Javascript справочник
· Разное
Сейчас на сайте
· Гостей: 5

· Пользователей: 0

· Всего пользователей: 441
· Новый пользователь: yak21
Информеры
Загрузка файлов  +  -
Бытовая техника:  +  
Лента alipapa.ru
Карпаты. Верховина.
Карпаты. Драгобрат.
Карпаты. Яремче, Яблунецкий перевал.
dbForge Studio for MySQL вместо PHPMyAdmin
Облачные технологии - насколько это серьезно?
Как распределяется вес по сайту

Совместимость CMS
Solomono.ru - сервис для веб-мастера
Микроразметка веб-страниц.
АГС - не приговор.

Немного о политике.
Что такое АГС и как с ним бороться?
Долгожданный АП PR

PR Google: 9 месяцев без апдейта
Поведенческий фактор - модная тенденция?
Wi-Fi дома. Что делать, если 192.168.0.1 занято?

Ускоренная переиндексация страниц в Яндексе
Как я ставил винду на нетбук.
ROOKEE - инструмент оптимизатора.
Строим рейтинг-каталог
Ссылки  +  -
Блоги
Alipapa
» Блог Алипапы
lom
» Блог Лома
Последние активные темы форума
  Темы Просмотров Ответов Последние сообщения
Pimped-Fusion. Первые впеча...
Ошибки, баги, глюки
1771 83 Alipapa
10-02-2012 19:36
Произвольные Title на любой...
Вопросы по работе
47 1 Alipapa
07-02-2012 14:28
Мультикатегории в новостях
Моды, плагины
250 8 Alipapa
28-01-2012 00:47
AP-Fusion 7.02
Вопросы по работе
2734 29 Alipapa
18-01-2012 17:59
Расширенный каталог статей.
Моды, плагины
12124 167 Alipapa
14-12-2011 23:32

xml_parse_into_struct

(PHP 3>= 3.0.8, PHP 4 , PHP 5)

xml_parse_into_struct -- Парсер XML данных в структуру массива

Description

int xml_parse_into_struct ( resource parser, string data, array &values [, array &index] )

Эта функция разбирает XML-файл на две параллельные структуры: одна из которых (index) содержит указатели на местонахождение соответствующих значений в массиве values array. Последние два параметра обязаны передаваться по ссылке.

Пример иллюстрирует внутреннюю структуру сгенерированных массивов. Мы используем простой тэг note, встроенный в тэг para, а затем разбираем это и выводим сгенерированные структуры:

Пример 1. xml_parse_into_struct() example

<?php
$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 );
?>

Когда исполнится этот код, на выходе будет:

Index array
Array
(
    [PARA] => Array
   (
       [0] => 0
       [1] => 2
   )

    [NOTE] => Array
   (
       [0] => 1
   )

)

Vals array
Array
(
    [0] => Array
   (
       [tag] => PARA
       [type] => open
       [level] => 1
   )

    [1] => Array
   (
       [tag] => NOTE
       [type] => complete
       [level] => 2
       [value] => simple note
   )

    [2] => Array
   (
       [tag] => PARA
       [type] => close
       [level] => 1
   )

)

Разбор на основе событий (на основе библиотеки expat) может усложниться, если у нас сложный XML-документ. Эта функция не производит объект в стиле DOM, а генерирует структуры типа дерева. Таким образом, мы можем легко создавать объекты, представляющие данные в XML-файле. Рассмотрим следующий XML-файл, представляющий собой небольшую БД с информацией об аминокислотах:

Пример 2. moldb.xml - small database of molecular information

<?xml version="1.0"?>
<moldb>

    <molecule>
   <name>Alanine</name>
   <symbol>ala</symbol>
   <code>A</code>
   <type>hydrophobic</type>
    </molecule>

    <molecule>
   <name>Lysine</name>
   <symbol>lys</symbol>
   <code>K</code>
   <type>charged</type>
    </molecule>

</moldb>
And some code to parse the document and generate the appropriate objects:

Пример 3. parsemoldb.php - parses moldb.xml into an array of molecular objects

<?php

class AminoAcid {
    var
$name ;   // aa name
    
var $symbol ;     // three letter symbol
    
var $code ;   // one letter code
    
var $type ;   // hydrophobic, charged or neutral
    
    
function AminoAcid ( $aa )
    {
        foreach (
$aa as $k => $v )
            
$this -> $k = $aa [ $k ];
    }
}

function
readDatabase ( $filename )
{
    
// read the XML database of aminoacids
    
$data = implode ( "" , file ( $filename ));
    
$parser = xml_parser_create ();
    
xml_parser_set_option ( $parser , XML_OPTION_CASE_FOLDING , 0 );
    
xml_parser_set_option ( $parser , XML_OPTION_SKIP_WHITE , 1 );
    
xml_parse_into_struct ( $parser , $data , $values , $tags );
    
xml_parser_free ( $parser );

    
// loop through the structures
    
foreach ( $tags as $key => $val ) {
        if (
$key == "molecule" ) {
            
$molranges = $val ;
            
// each contiguous pair of array entries are the
            // lower and upper range for each molecule definition
            
for ( $i = 0 ; $i < count ( $molranges ); $i += 2 ) {
                    
$offset = $molranges [ $i ] + 1 ;
                
$len = $molranges [ $i + 1 ] - $offset ;
                
$tdb [] = parseMol ( array_slice ( $values , $offset , $len ));
            }
        } else {
            continue;
        }
    }
    return
$tdb ;
}

function
parseMol ( $mvalues )
{
    for (
$i = 0 ; $i < count ( $mvalues ); $i ++) {
        
$mol [ $mvalues [ $i ][ "tag" ]] = $mvalues [ $i ][ "value" ];
    }
    return new
AminoAcid ( $mol );
}

$db = readDatabase ( "moldb.xml" );
echo
"** Database of AminoAcid objects:\n" ;
print_r ( $db );

?>

После выполнения parsemoldb.php переменная $db содержит массив AminoAcid-объектов, и вывод скрипта подтверждает это:

** Database of AminoAcid objects:
Array
(
    [0] => aminoacid Object
   (
       [name] => Alanine
       [symbol] => ala
       [code] => A
       [type] => hydrophobic
   )

    [1] => aminoacid Object
   (
       [name] => Lysine
       [symbol] => lys
       [code] => K
       [type] => charged
   )

)

Все функции PHP:
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Мини-чат
Вы должны авторизироваться, чтобы добавить сообщение.

04/02/2012 09:08
Еще раз прошу всех. Если вопрос не личный, пишите в форум. В личке, аське, скайпе, мейле и т.д. не консультирую

14/01/2012 18:45
avisei, пиши в форум, а не шли мне личные посланья

31/12/2011 16:01
С праздником Нового Года! Успехов, счастья, богатства!

08/12/2011 16:13
MySQL нужен. Инструкция вот: [url]http://ap-fus
ion.ru/downloads.p
hp?download_id=58[
/url]

08/12/2011 16:03
Я канеш дико извиняюсь, но где на этом сайте статья по установке fusion, нужен ему MySql или нет? Smile

07/12/2011 11:03
ОК)

07/12/2011 11:02
этот - для 7.0

07/12/2011 11:00
Я устанавливаю, как в инструкции. Куча ошибок. Не могу сделать upgrade!

07/12/2011 10:56
Для какой стандартной подходит, для такой же и ap-fusion подойдет

07/12/2011 10:54
Для какой версии AP-FUSION подходит "extended-downloads
"? Shock

24/10/2011 20:48
Валиор, я не поленился и проверил еще раз - в трех файлах этот фрагмент есть, в одном из них - дважды. Так что я не ошибся, это Вы так искали.

24/10/2011 16:06
Ну Вам удалось, значит в принципе возможно. А вообще не рекомендую, но если очень хочется, придется смириться с некоторыми неудобствами. На этом сайте поддержка реализована частично.

24/10/2011 16:05
Возможно ли регистрировать кирилические ники? В письме с регистрацией не указан логин.

21/10/2011 17:03
Занимаюсь. Локаль в порядок привожу. Сегодня или завтра что-нибудь выложу.

20/10/2011 16:09
да бог с ним, ты лучше пимпедом займись, а я не буду в этой сборке использовать основной каталог.

18/10/2011 21:54
Papich, плагин проверю обязательно, мб неисправленный в сборку поставил

22/09/2011 20:47
http://tools.dynam
icdrive.com/favico
n/ - фавиконка быстро и удобно

12/08/2011 21:09
Потому что не осознали еще всего того удобства, что он предоставляет.

10/08/2011 10:20
Почему никого не интересует мой новый чат?

13/06/2011 12:13
Самому не нравится. Пробовал по всякому. Вдобавок ещё и таблицу обрезает, остаётся процентов 40. http://www.cqham.s
umy.ua/viewpage.ph
p?page_id=44 - вариант вставки таблицы

Анонс
Последние статьи
· СМС и Вебмани
· TinyMCE для пользова...
· PCRE (Perl Compatibl...
· PCRE (Perl Compatibl...
· 510
4,253,020 уникальных посетителей Iceberg by Harly