Tidy: как из нечеловеко читаемого XML получить человеко читаемый XML

Pingvin22

Новичок
Tidy: как из нечеловеко читаемого XML получить человеко читаемый XML

Как с помощью tidy из нечеловеко читаемого XML получить человеко читаемый XML? т.е. выравненный

юзал мануал, но почемуто на выходе получаю не xml а html полученный из xml


PHP:
$tidy = new tidy();
$config = array(
                  'indent'         => true,
                  'output-xhtml'   => true,
                  'wrap'           => 200
                );
$tidy->parseString($xml, $config, 'utf8');
$tidy->cleanRepair();
echo $tidy
Я так понимаю что config неправельный? а какой должен быть?
 

Pingvin22

Новичок
Извеняюсь параметр есть, но проблему это не решает.

всеровно все преобразуется в html, только с верху появляется
<?xml version="1.0"?>

-~{}~ 22.05.07 18:09:

Пример:
PHP:
$xml=<<<XML
<?xml version="1.0"?>
<client id="123"><company id="24524"><advert id="3435"><header>test</header><body>testbody</body><url>phpclub.ru</url><words><word id="124234">php</word></words></advert></company></client>
XML;


$tidy = new tidy();
$config = array(
                  'indent'         => true,
                  'output-xml'   => true,
                  'wrap'           => 200
                );
$tidy->parseString($xml, $config, 'utf8');
$tidy->cleanRepair();
echo $tidy;
на выходы получаем

PHP:
<?xml version="1.0"?>
<html>
<head>
<title></title>
</head>
<body>testtestbodyphpclub.ruphp</body>
</html>
а должно быть
PHP:
<?xml version="1.0"?>
	<client id="123">
		<company id="24524">
			<advert id="3435">
				<header>test</header>
				<body>testbody</body>
				<url>phpclub.ru</url>
				<words>
					<word id="124234">php</word>
				</words>
			</advert>
		</company>
	</client>
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Утверждение:
Код:
<?xml version="1.0"?>
<html>
<head>
<title></title>
</head>
<body>testtestbodyphpclub.ruphp</body>
</html>
нормальный, валидный XML. Проблема с тем, что в выводе отсутствуют данные - не с XML, не с форматом, а с приложением (логикой). Разбирайся с использованием tidy. Надо какой-то свой формат - конвертируй в него.
 

Pingvin22

Новичок
Автор оригинала: grigori
нормальный, валидный XML. Проблема с тем, что в выводе отсутствуют данные - не с XML, не с форматом, а с приложением (логикой). Разбирайся с использованием tidy. Надо какой-то свой формат - конвертируй в него.
чето я не понял очем ты...

Мне надо на выходе получить xml тоже самый что и на входе только выровненный, нужно это для удобства чтения и записи в файл в человеко читаемом виде.

Неверная логика приложения? Здесь это не причем т.к. выравнивание xml`я для удобочитаемого вида нужно лиш только для того чтобы иногда глазками отслеживать что там происходит (чтото типа отладки).
 

Wicked

Новичок
УЖОС.
имхо тайди совсем не для этого предназначена.

Форматирование xml нативно поддерживается DOMом:
PHP:
$doc = DOMDocument::loadXML($xml);
$doc->formatOutput = true;
print $xml = $doc->saveXML();
 
Сверху