개발자 Q&A

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

2025.06.29 04:31

XMLReader::getAttributeNs에 대한 질문

목록
  • 뷰매니아 20시간 전 2025.06.29 04:31 새글
  • 6
    1
제가 XMLReader를 사용하여 XML 문서를 파싱하는 중에 문제를 만났습니다. getAttributeNs 메서드는 namespace를 사용하여 특정 속성을 가져올 수 있는지 궁금합니다. 이 메서드의 사용법과 namespace를 사용하는 경우의 예시를 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  20시간 전



    getAttributeNs 메서드는 XMLReader 클래스의 메서드 중 하나로, namespace를 사용하여 XML 문서 내의 특정 속성을 가져올 수 있습니다.

    이 메서드는 두 개의 매개변수를 받습니다. 첫 번째 매개변수는 속성 이름, 두 번째 매개변수는 namespace URI입니다.

    예를 들어, 다음 XML 문서가 있습니다.

    #hostingforum.kr
    xml
    
    
    
        
    
    
    
    


    이 문서에서 `attr` 속성을 가져오려면 `getAttributeNs` 메서드를 사용할 수 있습니다.

    #hostingforum.kr
    java
    
    import org.xml.sax.Attributes;
    
    import org.xml.sax.helpers.DefaultHandler;
    
    
    
    import javax.xml.parsers.SAXParserFactory;
    
    import java.io.StringReader;
    
    
    
    public class Main {
    
        public static void main(String[] args) throws Exception {
    
            String xml = "" +
    
                    "    " +
    
                    "";
    
    
    
            SAXParserFactory factory = SAXParserFactory.newInstance();
    
            factory.setNamespaceAware(true);
    
            org.xml.sax.XMLReader reader = factory.newSAXParser().getXMLReader();
    
    
    
            MyHandler handler = new MyHandler();
    
            reader.setContentHandler(handler);
    
            reader.parse(new StringReader(xml));
    
    
    
            System.out.println(handler.getAttr());
    
        }
    
    }
    
    
    
    class MyHandler extends DefaultHandler {
    
        private String attr;
    
    
    
        @Override
    
        public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
    
            if (qName.equals("element")) {
    
                attr = attributes.getValue("ns:attr");
    
            }
    
        }
    
    
    
        public String getAttr() {
    
            return attr;
    
        }
    
    }
    
    


    위 코드에서 `getAttributeNs` 메서드는 사용되지 않았습니다. 대신 `Attributes` 객체를 사용하여 namespace를 사용하는 속성을 가져왔습니다. `getAttributeNs` 메서드는 `Attributes` 객체를 사용하지 않고 namespace를 사용하는 속성을 가져올 수 있습니다.

    `getAttributeNs` 메서드는 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    java
    
    String attr = reader.getAttributeNs("http://example.com/ns", "attr");
    
    


    위 코드에서 `getAttributeNs` 메서드는 namespace URI와 속성 이름을 사용하여 `attr` 속성을 가져왔습니다.

    2025-06-29 04:32

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

검색

게시물 검색