2012-10-05 1 views
0

XML 객체를 배열에 넣으려고하는데 emty 배열이 생겨서 그 이유를 찾을 수 없습니다. dom 요소를 문자열에 저장합니다.

<?php 

$string = '<?xml version="1.0" encoding="UTF-8"?> 
      <confgs> 
      # System Settings # 
      ############################################################ 
      ## Login Account Settings 

      ADMIN_ID="<confg rang="0" soort="veld" name="config1" />" 
      ADMIN_ID="<confg rang="1" soort="veld" name="config2" />" 
      ADMIN_PASS="PKXUT1xxRoutIT" 
      USER_ID="<confg rang="2" soort="veld" name="config3" />" 
      USER_PASS="<confg rang="3" soort="optie" opties="opt1~opt2~opt3" name="config4" />" 
      ## Time Adjust Settings 
      TIME_ZONE="60" 
      DST_ENABLE="Y" 
      MAC_ADRES="<confg rang="4" soort="veld" name="config5" />" 
      DST_START_MONTH="3" 
      DST_START_ORDINAL_DAY="<stconfg rang="1" soort="veld" name="stanconf1" />" 
      DST_START_ORDINAL_DAY="<confg rang="8" soort="optie" opties="deze~die~endit~optie~extra" name="kijkhetwerkt" />" 
      DST_START_ORDINAL_DAY="5" 
      DST_START_ORDINAL_DAY="<stconfg rang="2" soort="veld" name="stanconf2" />" 
      DST_START_ORDINAL_DAY="<confg rang="5" soort="veld" name="config6" />" 
      DST_START_ORDINAL_DAY="<confg rang="6" soort="optie" opties="dit~dat~bibobla" name="slelect" />" 
      IETS_CONF_ORDINAL_CFG="<confg rang="7" soort="veld" name="ditveld" />" 
      IETS_CONF_ORDINAL_CFG="<confg rang="9" soort="veld" name="hallo" />" 
      </confgs> 
      '; 

    error_reporting(E_ALL^E_NOTICE); 
    $dom = new DOMDocument(); 
    $dom->preserveWhiteSpace = false; 
    $dom->loadXML($string); 
    $confg = $dom->getElementsByTagName('confg'); 

    $form = array(); 
    $a = 0; 

    foreach($confg as $configuratie){ 
     $a++; 
     $form[$a] = $dom->saveXML($configuratie); 
    } 

print_r($form); 
    ?> 

는 I 얻을 무엇인가

어레이 ([1] => [2] => [3] => [4] => [5] => [6] => [

무언가는 내 코드가 모든 10 가지 요소를 루프한다는 것을 알려주므로 그곳에 있어야합니다. 어떻게 잡을 수 있습니까?

답변

1

<confg ... />은 이제 HTML 요소이므로 HTML 태그이므로 브라우저에 표시 할 수 없기 때문입니다.

소스를 볼 수 있습니다.

+0

나는 지금 어리 석다! 당신은 너무 옳습니다. 나는 그들이 지금까지 보지 못했던 모든 방법을 가지고 있습니다. 그리고 나는 이미 이것이 작동하지 않는 이유를 생각하고 있었지만 항상 작동합니다. – botenvouwer

+0

:) 매우 자주 발생합니다. 두 번째 눈 쌍이 항상 가장 좋습니다. –

+0

어떤 이유로 str_replace 함수 내부에서 배열의 값을 사용할 수 없습니다. 왜 이런거야? – botenvouwer