
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