개발자 Q&A

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

2025.04.17 04:39

DOMElement::getAttributeNode에 대한 질문

목록
  • 스택오버플로우러버 14일 전 2025.04.17 04:39
  • 7
    1
저는 DOMElement::getAttributeNode 함수를 사용하여 노드의 속성을 얻어오려고하는데요.
이 함수는 노드의 속성을 얻어오는 데 사용되는 것 맞나요?

저는 아래와 같이 사용하였는데, 속성이 없을 때 NULL을 반환하는 것처럼 보입니다.
php

$node = $dom->createElement('div');

$attribute = $node->getAttributeNode('class');


속성이 없을 때 NULL을 반환하는 것은 맞나요?
혹시 다른 방법으로 속성을 얻어올 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  14일 전



    DOMElement::getAttributeNode 함수는 DOMElement 노드의 특정 속성을 얻어오는 데 사용됩니다. 이 함수는 속성이 없을 때 NULL을 반환합니다.

    속성이 없을 때 NULL을 반환하는 이유는 DOMElement::getAttributeNode 함수가 속성을 찾을 때까지 노드의 모든 속성을 검색하기 때문입니다. 만약 속성이 없다면 NULL을 반환합니다.

    속성을 얻어올 때 속성이 없을 때 NULL을 반환하는 것을 피하고 싶다면, DOMElement::hasAttribute 함수를 사용하여 속성이 있는지 확인한 후에 DOMElement::getAttributeNode 함수를 사용하는 것이 좋습니다.

    예를 들어, 아래와 같이 사용할 수 있습니다.

    
    
    $node = $dom->createElement('div');
    
    if ($node->hasAttribute('class')) {
    
        $attribute = $node->getAttributeNode('class');
    
    } else {
    
        $attribute = NULL;
    
    }
    
    


    또는, 속성이 없을 때 NULL을 반환하는 것을 피하고 싶다면, DOMElement::getAttribute 함수를 사용하는 것이 좋습니다. DOMElement::getAttribute 함수는 속성이 없을 때 NULL을 반환하지 않습니다.

    
    
    $node = $dom->createElement('div');
    
    $attribute = $node->getAttribute('class');
    
    


    이러한 방법으로 속성을 얻어올 수 있습니다.

    2025-04-17 04:40

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

검색

게시물 검색