php работа с xml

Discussion in 'PHP' started by barnaki, 13 Apr 2011.

  1. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    130
    Reputations:
    4
    вот метод
    PHP:
     public function actionEditMagazine(){
            
    $directory Yii::app()->params['temp_dir'];
            
    $description Yii::app()->params['magazine_description_filename'];
            
    $content =   Yii::app()->params['magazine_content_filename'];
            if (
    file_exists($directory."/".$description)) {
        
    $xml simplexml_load_file($directory."/".$description);

        
    var_dump($xml);
    } else {
        exit(
    'немогу открыть файл описания номера');
    }
            echo 
    "<br/>";
            echo 
    "<br/>";
                    if (
    file_exists($directory."/".$content)) {
        
    $xml simplexml_load_file($directory."/".$content);

        
    var_dump($xml);
    } else {
        exit(
    'немогу открыть файл описания номера');
    }
    вот файлы xml
    HTML:
    <?xml version="1.0" encoding="UTF-8"?>
    <root>
    <magazine name="За рулем" title="1 Январь" number="234" ynumber="1" date="01.01.2011" pages="34">
    	<articles quontity="10">
    		<article name="Всегда с вами" artId="1" author="" photographer="">
    			<page number="1" imgId="1" previewId="1.gif"/>
    			
    		</article>
    		<article name="Всегда с вами" artId="2" author="" photographer="">
    			<page number="2" imgId="2" previewId="2.gif"/>
    			
    		</article>
    		<article name="Всегда с вами" artId="3" author="" photographer="">
    			<page number="3" imgId="3" previewId="3.gif"/>
    			
    		</article>
    		<article name="Всегда с вами" artId="4" author="" photographer="">
    			<page number="4" imgId="4" previewId="4.gif"/>
    			
    		</article>
    		<article name="Всегда с вами" artId="5" author="" photographer="">
    			<page number="5" imgId="5" previewId="5.gif"/>
    			
    		</article>
    		<article name="Всегда с вами" artId="6" author="" photographer="">
    			<page number="6" imgId="6" previewId="6.gif"/>
    			
    		</article>
    		<article name="Всегда с вами" artId="7" author="" photographer="">
    			<page number="7" imgId="7" previewId="7.gif"/>
    			
    		</article>
    		<article name="Всегда с вами" artId="8" author="" photographer="">
    			<page number="8" imgId="8" previewId="8.gif"/>
    			
    		</article>
    		<article name="Всегда с вами" artId="9" author="" photographer="">
    			<page number="9" imgId="9" previewId="9.gif"/>
    			
    		</article>
    		<article name="Всегда с вами" artId="10" author="" photographer="">
    			<page number="10" imgId="10.jpg" previewId="10.gif"/>
    			
    		</article>
    	</articles>
    </magazine>
    </root>
    и второй
    HTML:
    <?xml version="1.0" encoding="UTF-8"?>
    <root>
          <text artId="1">
          	Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do 			eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim 
          	ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut 
          	aliquip ex ea commodo consequat.
          </text>
    </root>
    проблема в том что при var_dump и первого файла атрибуты выводятся. а из второго нет. может кто знает почему
     
  2. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    PHP:
    <?php
        $xml 
    =  simplexml_load_file('ttt.xml');

        foreach (
    $xml->magazine->articles->article as $magazine)
        {
            echo 
    $magazine->page['number'] . PHP_EOL;
        }
     
  3. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    130
    Reputations:
    4
    так из этого файла где articles атрибуты выводятся. а вот из второго нет. их просто нет в var dumpe
     
  4. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    PHP:
        $xml =  simplexml_load_file('ttt.xml');

        foreach (
    $xml as $magazine)
        {
            echo 
    $magazine['artId'] . PHP_EOL;
        } 
     
    1 person likes this.
  5. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    130
    Reputations:
    4
    да если так то видно спасибо