2011-11-22 2 views
0

저는 XML과 PHP로 게임을 해왔습니다. 제가 작업하고있는 요구 사항을 얻으려고 시도했지만 여전히 원하는 방식으로 작동하지 않습니다.PHP를 사용하여 XML에서 중첩 된 변수를 구문 분석합니다.

중첩 된 변수가있는 XML 파일이 있는데 user_id, name과 같은 변수를 구문 분석하고 배열에 저장해야하므로 다른 구성 파일에서 세부 정보를 변경해야합니다.

예 : 사용자가 로그인 한 경우 user_id를 사용하여 XML 파일 (특정 사용자의 세부 정보가 저장되는 곳)에서 특정 사용자의 모든 데이터를 구문 분석해야합니다.

지금까지는 데이터를 구문 분석하고 모두를 에코했지만이 구문 분석 된 정보를 저장할 방법을 찾을 수 없었습니다.

이 내 test.xml의 파일입니다

<?xml version="1.0" encoding="ISO-8859-1"?> 
<document> 
    <user> 
     <user_id>0121</user_id> 
     <name>Tim</name> 
     <file>0121.file</file> 
    </user> 

    <user> 
     <user_id>0178</user_id> 
     <name>Henry</name> 
     <file>0178.file</file> 
    </user> 

    <user> 
     <user_id>0786</user_id> 
     <name>Martin</name> 
     <file>0786.file</file> 
    </user> 

    <user> 
     <user_id>1239</user_id> 
     <name>Jan</name> 
     <file>1239.file</file> 
    </user> 
</document> 

모든 가치있는 정보가

감사 Raaks

+0

@Gordon, 답장을 보내 주셔서 감사하지만 난 같은 XML 파일 또는 다른 XML 파일을 다른 파일을하지 업데이트 이러한 정보를 사용할 수 있도록 배열이나 변수에 그쪽으로 구문 분석 정보를 저장하는 방법을 찾고 있어요 . 당신이 가길 바라 네. – 125369

답변

0

사용 SimpleXML 크게 도움이 될 것입니다.

$xml = simplexml_load_file("test.xml"); 
$user = $xml->xpath("user[user_id = $my_user_id]"); 

$name = $user[0]->name; 
$file = $user[0]->file; 
+0

안녕하세요 Socha, 내가 당신의 팁을 따라와 메신저이 오류가 발생했습니다 "경고 : SimpleXMLElement :: xpath() [simplexmlelement.xpath] : 잘못된 표현"이 왜 갑자기 나타납니다 어떤 생각이 – 125369

+0

예, 그것은 = =. 또한 $ 사용자는 이후 호출에서 인덱스가 부족합니다. 내 대답이 업데이트되었으므로 이제는 제대로 작동합니다. – socha23

+0

안녕 Socha, 빠른 도움을 많이 주셔서 감사합니다. 지난 30 분 동안 오류가 어디에 있는지 찾아내는 데 어려움을 겪고있었습니다. 코드를 업데이트 해 주셔서 감사합니다. 이제 모든 것이 잘 작동합니다. – 125369

관련 문제