• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

XmlReader의 Depth에 대해서

21.07.08 15:09 작성 조회수 313

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

int depth = r.Depth +1;

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

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

해즈님의 프로필

해즈

2021.07.09

넵 감사합니다