XMLファイルのコンテンツを取得するにはJavaでどうすればよいですか。
XML ファイルの内容を取得するために、Java では DOM パーサまたは SAX パーサを使用できます。
DOMパーサを使う:
- DocumentBuilderオブジェクトを作成します。
DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- DocumentBuilderオブジェクトのparseメソッドでXMLファイルを解析し、Documentオブジェクトを取得する。
Document document = documentBuilder.parse(new File("path/to/xml/file.xml"));
- XMLの構造に合わせてDocumentオブジェクトのメソッドを使用して目的の情報を取得する。
// 获取根元素
Element rootElement = document.getDocumentElement();
// 获取子元素
NodeList childNodes = rootElement.getChildNodes();
// 获取元素的属性
String attributeValue = rootElement.getAttribute("attributeName");
// 获取元素的文本内容
String textContent = rootElement.getTextContent();
SAXパーサーを使用する:
- SAXParserオブジェクトを作成する.
SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();
- org.xml.sax.helpers.DefaultHandlerインタフェースが実装された、カスタムHandlerクラスを作成し、メソッドをオーバーライドします。
public class MyHandler extends DefaultHandler {
// 重写startElement方法,在遇到元素的开始标签时执行该方法
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
// 处理元素开始标签的逻辑
}
// 重写characters方法,在遇到元素的文本内容时执行该方法
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
// 处理文本内容的逻辑
}
// 重写endElement方法,在遇到元素的结束标签时执行该方法
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
// 处理元素结束标签的逻辑
}
}
- MyHandlerオブジェクトを作成し、SAXParserオブジェクトのparseメソッドを使用してXMLファイルを解析します。
MyHandler myHandler = new MyHandler();
saxParser.parse(new File("path/to/xml/file.xml"), myHandler);
カスタムハンドラクラスで、必要なメソッドを実装してXMLファイルの内容を取得できます。