Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вот ещё пример XML - Отказывается пахать...(((
 
 автор: dimonich2004   (01.03.2012 в 08:06)   письмо автору
 
 


<?xml version="1.0"?>
<collection>
<person id="10">
<name>
<first>Nick</first>
<last>Petrov</last>
</name>
<birth>
<day>23</day>
<month>12</month>
<year>89</year>
</birth>
<email> nick@ngs.ru 
</email>
</person>
<person id="20">
<name>
<first>Bob</first>
<last>Ivanov</last>
</name>
<birth>
<day>03</day>
<month>05</month>
<year>90</year>
</birth>
<email> bob@ngs.ru 
</email>
</person>
</collection>


вот чтение:


<?
// сначала делаем то же,
// что и в предыдущем примере
$xmlstr join('',file('Files/_SITEXML.xml'));
if(!
$dom domxml_open_mem($xmlstr)) {
echo 
"Ошибка при разборе документа\n";
exit;
}

$root $dom->document_element();
// Получаем массив потомков
// родительского узла
// (в нашем случае это массив <person>)
$nodes $root->child_nodes();
print_r($nodes);
echo 
"<hr>";
// Начинаем обработку каждого
// узла в массиве
foreach($nodes as $node){
// Если текущий узел – один
// из узлов <person>, то
// продолжаем ее обработку,
// чтобы получить информацию
// об этой личности
if ($node->tagname=='person'){
// Создаем массив, куда
// будем собирать информацию
// о рассматриваемой личности
$currentPers = array();
// Получаем id личности,
// который хранится в атрибуте 'id'
$currentPers['id'] = 
$node->get_attribute('id');
// Получаем массив потомков
// <person>. Это вся
// информация о личности
// (<name>,<birth> и т.д.)
$persons_info 
$node->child_nodes();
// Перебираем все дочерние
// узлы $node
foreach ($persons_info as $info){
// проверяем, является ли узел
// элементом (xml-тегом)
if ($info->type==
XML_ELEMENT_NODE) {
// тогда метод tagname
// возвратит имя этого 
// элемента (тега), а метод
// get_content() –
// его содержимое
$currentPers[$info->tagname] =
$info->get_content();
}
}
// выводим на экран полученные
// массивы
print_r ($currentPers);

echo 
"<br>";
}
}
?>



Ошибка:

Fatal error: Call to undefined function domxml_open_mem() in C:\xampp\htdocs\MS1C\Blocks\ImportXML.php on line 5

  Ответить  
 
 автор: Valick   (01.03.2012 в 08:16)   письмо автору
 
   для: dimonich2004   (01.03.2012 в 08:06)
 

ругается что нет в вашем ксампе такой функции как domxml_open_mem()
в php.ini нужно подключать модуль для работы с xml
сделайте echo phpinfo();
и посмотрите что там для xml подключено

  Ответить  
 
 автор: dimonich2004   (01.03.2012 в 08:24)   письмо автору
 
   для: Valick   (01.03.2012 в 08:16)
 

extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
extension=php_mbstring.dll
extension=php_exif.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_gmp.dll
extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mssql.dll
;extension=php_mysql_mysqlnd.dll
extension=php_mysql.dll
;extension=php_mysqli_mysqlnd.dll
extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql_mysqlnd.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pdo_sqlite_external.dll
;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite.dll
extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
[PECL]
;extension=php_ming.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll

  Ответить  
 
 автор: Valick   (01.03.2012 в 08:35)   письмо автору
 
   для: dimonich2004   (01.03.2012 в 08:24)
 

php_domxml.dll нужен, у вас его нет
но вот как его установить, не подскажу, просто не сталкивался с этим
сейчас сделал phpinfo() у себя на денвере3 вроде расширение DOMXML есть, но незнаю я пакеты расширения устанавливал с сайта денвера, а может и в базовом пакете уже было...
и SimpleXML там же и куча еще плюшек
____
вывод: забейте на XAMPP юзайте денвер3 :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования