![]() |
Показаны 4 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- Парсинг Xml данных (http://netadmin.ws/forum/showthread.php?threadid=11935)
Парсинг Xml данных
Имеется функция парсинга XML данных
function xml2array($xml) {
$xmlary = array ();
$ReElements = '/<(w+)s*([^/>]*)s*(?:/>|>(.*?)<(/s*1s*)> )/s';
$ReAttributes = '/(w+)=(?:"|')([^"']*)(:?"|')/';
preg_match_all($ReElements, $xml, $elements);
foreach ($elements[1] AS $ie=>$xx) {
$xmlary[$ie]['name'] = $elements[1][$ie];
if ($attributes = trim($elements[2][$ie])) {
preg_match_all($ReAttributes, $attributes, $att);
foreach ($att[1] AS $ia=>$xx) {
$xmlary[$ie]['attributes'][$att[1][$ia]] = $att[2][$ia];
}
}
$cdend = strpos($elements[3][$ie], '<');
if ($cdend > 0) {
$xmlary[$ie]['text'] = substr($elements[3][$ie], 0, $cdend-1);
}
if (preg_match($ReElements, $elements[3][$ie])) {
$xmlary[$ie]['elements'] = xml2array($elements[3][$ie]);
} elseif (isset($elements[3][$ie])) {
$xmlary[$ie]['text'] = $elements[3][$ie];
}
$xmlary[$ie]['closetag'] = $elements[4][$ie];
}
return $xmlary;
}
<TG><F name="Aaa" description="Bbb"/></TG>
__________________
f9ffe3323e79b2a558b92af5b4039e20
Юзай стандратные функции пхп для парсинга XML... EXPAT.. это процедурный способ парсинга XML... задавай функции-хандлеры... либо, что я советую, юзай DOM XML... очень удобно...
quote:
Первоначальное сообщение от DicsyDel
Юзай стандратные функции пхп для парсинга XML... EXPAT.. это процедурный способ парсинга XML... задавай функции-хандлеры... либо, что я советую, юзай DOM XML... очень удобно...
__________________
f9ffe3323e79b2a558b92af5b4039e20
DicsyDel дело говорит. Зачем изобретать велосипед?
Вообще этот код не будет корректно обрабатываться, эта проблема будет постоянной, можно конечно помудохатся и все решить. Но только вот зачем когда есть стандартные решения?
__________________
Всегда есть решение.
| Формат времени GMT. Текущее время 23:17. | Показаны 4 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.