인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Packet Generator #1

XmlReader의 Depth에 대해서

작성

·

363

0

17:27에서

int depth = r.Depth +1;

while(r.Read())

{

if(r.Depth != depth)

break;

} 코드가 이렇게 됐었는데

<packet name="PlayerInfoReq">

    <long name ="playerId"/>

    <string name ="name"/>

    <list name ="skill">

        <int name="id"/>

        <short name ="level"/>

        <float name ="duration"/>

    </list>

  </packet>

그러면 <list name = "skill"> 다음 줄을 들어갈때는 while에서 빠져나가게 되는거 아닌가요

답변 1

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

int depth = r.Depth +1;

즉 depth가 +1 일 때까지 루프를 도니까
      <int name="id"/>
      <short name ="level"/>
      <float name ="duration"/>
를 다 파싱하고 빠져나옵니다.

코드를 눈으로 보면 가끔 헷갈릴 때가 오는데
그럴 때는 디버깅을 통해 메모리 값을 보면서 확인 해보시기 바랍니다.

넵 감사합니다

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기