[java] XML 파일에서 특정 요소의 속성 값 가져오기
XML은 많은 소프트웨어 응용 프로그램에서 구성 파일로 사용됩니다. Java에서 XML 파일을 읽어와 특정 요소의 속성 값을 가져오는 방법을 알아보겠습니다.
XML 파일 구조 예시
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J.K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
Java에서 속성 값 가져오기
Java에서는 javax.xml.parsers
패키지를 사용하여 XML을 파싱하고, org.w3c.dom
패키지를 사용하여 DOM(Document Object Model)을 다룰 수 있습니다. 여기서는 특정 요소의 속성 값을 가져오는 방법을 다루겠습니다.
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.File;
public class ReadXML {
public static void main(String[] args) {
try {
File xmlFile = new File("books.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(xmlFile);
doc.getDocumentElement().normalize();
NodeList bookList = doc.getElementsByTagName("book");
for (int temp = 0; temp < bookList.getLength(); temp++) {
Element bookElement = (Element) bookList.item(temp);
String category = bookElement.getAttribute("category");
System.out.println("Category : " + category);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
위 예제에서는 books.xml
파일을 읽어와 각 <book>
요소의 category
속성 값을 출력하는 간단한 예시를 보여줍니다.
마무리
이제 Java에서 XML 파일을 파싱하고 특정 요소의 속성 값을 가져오는 방법에 대해 알아보았습니다. 이를 응용하여 실제 프로젝트에서 XML 파일을 다룰 때 유용하게 활용할 수 있을 것입니다.
참고 자료: