개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.13 06:57

XML Parsing 시 라인 번호 추출 방법에 관해 질문합니다.

목록
  • Tailwind매니아 23시간 전 2025.04.13 06:57 새글
  • 4
    1
제가 XML 파싱을 할 때, 현재 라인 번호를 알 수 있는 방법이 있나요? 예를 들어, XML 내역을 다음과 같이 살펴봅시다.

xml



  

    30

    New York

  





이러한 경우, XML 내역을 파싱할 때 현재 라인 번호를 알 수 있는 방법에 대해 알려 주세요.

여기서, 제가 사용하는 PHP의 `simplexml_load_string()` 함수를 사용하여 XML 내역을 파싱합니다. 이 경우, `xml_get_current_line_number()` 함수를 사용하여 현재 라인 번호를 알 수 있나요? 그럼 이 방법이 제대로 작동하는지, 아니면 다른 방법이 더 좋을지 알려 주세요.

    댓글목록

    profile_image
    나우호스팅  23시간 전



    PHP의 `simplexml_load_string()` 함수는 XML 파싱을 위한 함수입니다. 이 함수는 XML 내역을 파싱하여 객체로 반환합니다. 하지만 이 함수 내에서 현재 라인 번호를 알 수 있는 함수인 `xml_get_current_line_number()`는 없습니다.

    대신, `simplexml_load_string()` 함수는 XML 내역을 파싱하여 객체로 반환하기 때문에, XML 내역을 파싱하는 동안 현재 라인 번호를 알 수 있습니다. 예를 들어, 다음과 같이 코드를 작성할 수 있습니다.

    #hostingforum.kr
    php
    
    $xml = simplexml_load_string('30New York');
    
    $lineNumber = 0;
    
    foreach ($xml as $node) {
    
        $lineNumber++;
    
        // 현재 라인 번호를 사용할 수 있습니다.
    
        echo "현재 라인 번호: $lineNumbern";
    
    }
    
    


    이 코드는 XML 내역을 파싱하여 객체로 반환하고, foreach 문을 사용하여 XML 내역을 순회합니다. foreach 문 내에서 현재 라인 번호를 1씩 증가시켜, 현재 라인 번호를 알 수 있습니다.

    또한, PHP 5.4 이상부터는 `XMLReader` 클래스를 사용하여 XML 내역을 파싱할 수 있습니다. 이 클래스는 XML 내역을 파싱하는 동안 현재 라인 번호를 알 수 있습니다.

    #hostingforum.kr
    php
    
    $xmlReader = new XMLReader();
    
    $xmlReader->open('php://memory');
    
    $xmlReader->xml('30New York');
    
    $xmlReader->read();
    
    $lineNumber = 0;
    
    while ($xmlReader->read()) {
    
        $lineNumber++;
    
        // 현재 라인 번호를 사용할 수 있습니다.
    
        echo "현재 라인 번호: $lineNumbern";
    
    }
    
    $xmlReader->close();
    
    


    이 코드는 XML 내역을 파싱하여 객체로 반환하고, while 문을 사용하여 XML 내역을 순회합니다. while 문 내에서 현재 라인 번호를 1씩 증가시켜, 현재 라인 번호를 알 수 있습니다.

    2025-04-13 06:58

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 11,236건 / 3 페이지

검색

게시물 검색