Android StudioでXMLファイルからアルファベットとスペースのみを取得する方法


方法1: 正規表現を使用する方法

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
public class XMLParser {
    public static void main(String[] args) {
        try {
            File file = new File("path/to/your/xml/file.xml");
            BufferedReader br = new BufferedReader(new FileReader(file));
            String line;
            StringBuilder stringBuilder = new StringBuilder();
            while ((line = br.readLine()) != null) {
                stringBuilder.append(line);
            }
            br.close();
            String xmlContent = stringBuilder.toString();
            // アルファベットとスペースのみを抽出する正規表現パターン
            Pattern pattern = Pattern.compile("[a-zA-Z\\s]+");
            Matcher matcher = pattern.matcher(xmlContent);
            while (matcher.find()) {
                String extractedText = matcher.group();
                System.out.println(extractedText);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

方法2: XMLパーサーを使用する方法

import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
public class XMLParser {
    public static void main(String[] args) {
        try {
            File file = new File("path/to/your/xml/file.xml");
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();
            Document doc = builder.parse(file);
            doc.getDocumentElement().normalize();
            NodeList nodeList = doc.getElementsByTagName("*");
            for (int i = 0; i < nodeList.getLength(); i++) {
                Node node = nodeList.item(i);
                if (node.getNodeType() == Node.TEXT_NODE) {
                    String extractedText = node.getTextContent().replaceAll("[^a-zA-Z\\s]", "");
                    System.out.println(extractedText);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

上記の方法を使用すると、XMLファイルからアルファベットとスペースのみを抽出することができます。それぞれの方法は異なるアプローチを取っていますが、どちらの方法でも目的を達成できます。選択肢によっては、ファイルのパスを適切に指定する必要があります。また、必要に応じて抽出したテキストを適切に処理することもできます。