$xmlDoc = $this->oXmlParser->parse($buff);
if(!count($xmlDoc->extra_vars->key)) return array();

foreach($xmlDoc->extra_vars->key as $k => $v){

 

$buff = "<extra_vars><key><var_idx>MQ==</var_idx><0>MQ==</0><lang_code>a28=</lang_code><1>a28=</1><value>44WB44S044WH44S744S044WH44S5</value><2>44WB44S044WH44S744S044WH44S5</2><eid>QQ==</eid><3>QQ==</3></key><key><var_idx>Mg==</var_idx><0>Mg==</0><lang_code>a28=</lang_code><1>a28=</1><value>44S044WB44WH44S544S044WB44WH</value><2>44S044WB44WH44S544S044WB44WH</2><eid>Qg==</eid><3>Qg==</3></key></extra_vars>"

 

$xmlDoc = [node_name] => extra_vars
                  [attrs] => Xml_Node_ Object
                (
                )

 

데이터 가져오기 툴을 통해 데이터를 확인해보면, 사용자 정의 부분 데이터를 가져오는것을 확인하였습니다. 

하지만, iamport.admin.controller.php 에서importExtraVars()메소드에서 문제가 발생합니다. 

 

위와 같은 소스부분에서 xmlDoc 부분에 디버그를 찍어보면 아래와 같이 출력됩니다. 
 

if(!count($xmlDoc->extra_vars->key)) return array(); 

위의 부분에서 key값이 없다고 하면서 리턴되어 버려서, 실제로 DB에는 데이터가 쌓이질 않습니다. 

XE 버전은 1.11.9 최신버전 마이그레이션 툴은 xetown에 있는 0.7 버전을 이용하였습니다. 

 

xe에서 xml 파싱 하는 부분 클래스를 계속 보는데 잘 이해가 안되네요, 조언 해주실 수 있다면 조언좀 부탁드립니다. 

 

 감사합니다. 

  • profile
    해당 부분 버그 수정하였습니다. 데이터 이전 툴에서 버그가 있었네요