XML タグ内の属性値を Java で取得するには?

XMLタグ内の属性値を読み取るために、JavaではJavaに組み込まれたXMLパーサーやサードパーティのライブラリーを利用できます。例として、Java組み込みパーサー javax.xml.parsers.DocumentBuilderFactory と org.w3c.dom パッケージを用いたXMLタグ内の属性値の読み込みコードを紹介します。

import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class ReadXMLExample {
    public static void main(String[] args) {
        try {
            // 创建一个DocumentBuilderFactory对象
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            // 使用工厂对象创建一个DocumentBuilder对象
            DocumentBuilder builder = factory.newDocumentBuilder();
            // 解析XML文件,得到一个Document对象
            Document document = builder.parse("path/to/your/xml/file.xml");
            
            // 获取XML文件的根节点
            Element root = document.getDocumentElement();
            
            // 通过标签名获取所有子节点
            NodeList nodeList = root.getElementsByTagName("tag_name");
            
            // 遍历子节点
            for (int i = 0; i < nodeList.getLength(); i++) {
                Node node = nodeList.item(i);
                
                // 判断节点类型为元素节点
                if (node.getNodeType() == Node.ELEMENT_NODE) {
                    Element element = (Element) node;
                    
                    // 获取属性值
                    String attributeValue = element.getAttribute("attribute_name");
                    
                    // 打印属性值
                    System.out.println(attributeValue);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

上にあるコードでは、最初にDocumentBuilderFactoryオブジェクトを作成し、それを使ってDocumentBuilderオブジェクトを作ります。そしてそのDocumentBuilderオブジェクトを使ってXMLファイルを解析し、Documentオブジェクトを取得します。Documentオブジェクトからは、XMLファイルのルート要素を取得できます。getElementByTagNameメソッドを呼び出すと、指定されたタグ名を持つ全ての子要素を取得できます。そしてその子要素をループで処理・確認し、それが要素ノードなら、getAttributeメソッドを呼び出して指定された属性名を持つ属性値を取得できます。そして最後に属性値を表示します。

bannerAds