⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jaxpten.java

📁 xml 文件解析
💻 JAVA
字号:
package chageXML;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.*;

import javax.xml.parsers.*;

import java.io.*;
public class JAXPTEN {
    private final static String FILE_PATH="E:\\test_xml\\TestXML\\src\\chageXML\\Cha6_10.xml";
    private final static String NEW_XML_FILE_NAME="newXML.xml";
    
    public static void main(String[] args) {
        ModifyNode modify = new ModifyNode();
        try{
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();
            Document document = builder.parse(FILE_PATH);
            Element root = document.getDocumentElement();
            NodeList nodeList = root.getChildNodes();
            modify.modifyNode(nodeList);
            TransformerFactory transFactory = TransformerFactory.newInstance();
            Transformer transfomer = transFactory.newTransformer();
            DOMSource domSource = new DOMSource(document);
            File file = checkFileExit(NEW_XML_FILE_NAME);
            FileOutputStream out = new FileOutputStream(file);
            StreamResult xmlResult = new StreamResult(out);
            transfomer.transform(domSource, xmlResult);
            
        }catch(Exception e){
            System.out.println(e);
        }

    }    
    private static File checkFileExit(String filePath) {
        
        File file =  new File(filePath);   
        if(file.exists()) {
            file.delete();
        } 
        return new File(filePath);
    }

}
class ModifyNode {
    int m= 0;
    public void modifyNode(NodeList nodeList){
        int size = nodeList.getLength();
        for(int k = 0; k < size; k++) {
            Node node = nodeList.item(k);
            if(node.getNodeType() == Node.TEXT_NODE) {
                Text textNode = (Text)node;
                int length = textNode.getLength();
                String str = textNode.getWholeText().trim();
                try{
                    Double d = Double.parseDouble(str);
                    if (d >90 && d <=100 ) {
                        textNode.insertData(length, "(A)");
                    } else if (d >80 && d <=90 ) {
                        textNode.insertData(length, "(B)");
                    } else if (d >60 && d <=80 ) {
                        textNode.insertData(length, "(C)");
                    } else {
                        textNode.insertData(length, "(D)");
                    }
                }catch(NumberFormatException ee){}
                
            }
            if(node.getNodeType() == Node.ELEMENT_NODE) {
                Element elementNode = (Element)node;
                String name = elementNode.getNodeName();
                if(elementNode.hasChildNodes()) {
                    elementNode.setAttribute("TestType", "NoHasBook");
                    
                }
                NodeList nodes = elementNode.getChildNodes();
                modifyNode(nodes);
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -