SimpleXML вложеный элемент 
		
		
		
		<?xml version="1.0" encoding="utf-8" ?>  
	- <tv generator-info-name="tele.perm.ru"> - <channel id="1"> <display-name lang="ru">24 Док</display-name> </channel> - <channel id="2"> <display-name lang="ru">24 Техно</display-name> </channel> - <channel id="92"> <display-name lang="ru">2x2</display-name> </channel> </tv> $xml=simplexml_load_file("http://192.168.9.5/amin/tvguide.xml"); foreach($xml->children()->channel as $x) { echo $x[id]." <br>"; }; а как добраться до вложенного? уже мозг порвал :blink:  | 
	
		
 Решил проблему оказывается уроды предоставляющие данные не знают стандарта (((( 
	foreach($xml->channel as $x) { //echo $x[id]; echo( $x->display."<br>"); }; пред использованием убрать тире в display-name  | 
	
		
 где в стандарте сказано, что нельзя в имени дефисы использовать? 
	http://www.w3.org/TR/2008/REC-xml-20081126/#NT-Name  | 
	
		
 ну я сделал такой вывод после того как убрал дефис и всё стало работать. .....ну тогда  SimpleXML тупит и не воспринимает дефисы 
	 | 
	
		
 ой какая жуть......файлик 5 мб, разбор формата в "лоб" через найти вырезать дало прирост производительности в два раза. 
	 | 
	
		
 ну он же наверное создает сначала дерево, т.е. парсит весь файл. Можешь другие парсеры попробовать 
	 | 
	
		
 Товарищи, да тут же SimpleXML даже не к чему. 
	
<?php
$str = '<?xml version="1.0" encoding="utf-8" ?> 
	<tv generator-info-name="tele.perm.ru">
		<channel id="1">
			<display-name lang="ru">24 Док</display-name> 
		</channel>
		<channel id="2">
			<display-name lang="ru">24 Техно</display-name> 
		</channel>
		<channel id="92">
			<display-name lang="ru">2x2</display-name> 
		</channel>
	</tv>';
$document=new DOMDocument();
$document->loadXML($str);
$xpath = new DOMXpath($document);
foreach ($xpath->query("/tv/channel") as $channel_node){
	$channel_id = intval($channel_node->getAttribute('id'));
	$channel_name_node = $xpath->query("display-name", $channel_node)->item(0);
	$channel_name = $channel_name_node?$channel_name_node->textContent:"";
	/* что-нибудь полезное */
	echo "<br />{$channel_id}: {$channel_name}";
};
UPD: …а если нужно вывести только названия каналов, то решение вообще сокращается до неприлично короткого: 
<?php
$str = '<?xml version="1.0" encoding="utf-8" ?> 
	<tv generator-info-name="tele.perm.ru">
		<channel id="1">
			<display-name lang="ru">24 Док</display-name> 
		</channel>
		<channel id="2">
			<display-name lang="ru">24 Техно</display-name> 
		</channel>
		<channel id="92">
			<display-name lang="ru">2x2</display-name> 
		</channel>
	</tv>';
$document=new DOMDocument();
$document->loadXML($str);
$xpath = new DOMXpath($document);
foreach ($xpath->query("/tv/channel/display-name") as $channel_name_node){
	$channel_name = $channel_name_node->textContent;
	
	echo "<br />{$channel_name}";
};
 | 
	
		
 Цитата: 
	
  | 
	
		
 x-yuri, 
	Для меня это просто из той же категории, что подключать jQuery, чтобы получить элемент по его id.  | 
	
		
 не работал дум....от того и выбрал симпл. спасибо за инфу!!! 
	 | 
| Часовой пояс GMT +3, время: 12:04. |