XML file paser sample

xiaoxiao2022-06-12  23

//从XML文件中读取信息,并写入fw.

private void processFile(File file, FileWriter fw) throws Exception {     String sObject = "";     String dObject = "";     String sCondition = "";     String dCondition = "";     String sCardinality = "";     String dCardinality = "";     boolean isSourceFound = false;         DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();     DocumentBuilder db = dbf.newDocumentBuilder();     Document doc = db.parse(file);     doc.getDocumentElement().normalize();     System.out.println("Root element " +                        doc.getDocumentElement().getNodeName());     String aoName = doc.getDocumentElement().getAttribute("Name");     System.out.println(aoName);     NodeList nodeLst = doc.getElementsByTagName("AssociationEnd");         for (int s = 0; s < nodeLst.getLength(); s++) {       Node fstNode = nodeLst.item(s);       if (fstNode.getNodeType() == Node.ELEMENT_NODE) {         Element fstElmnt = (Element)fstNode;         String eo = fstElmnt.getAttribute("Name");         if (isSourceFound) {           dObject = eo;         } else {           sObject = eo;         }         String cardinality = fstElmnt.getAttribute("Cardinality");         if (cardinality.equals("-1")) {           cardinality = "*";         }         if (isSourceFound) {           dCardinality = cardinality;         } else {           sCardinality = cardinality;         }         NodeList fstNmElmntLst = fstElmnt.getElementsByTagName("AttrArray");         Element attElmnt = (Element)fstNmElmntLst.item(0);         NodeList itemNodes = attElmnt.getElementsByTagName("Item");         Element itemElmnt = (Element)itemNodes.item(0);         String condition = itemElmnt.getAttribute("Value");         if (isSourceFound) {           dCondition = condition;         } else {           sCondition = condition;         }         isSourceFound = !isSourceFound;       }     }     String Cardinality = sCardinality + "..." + dCardinality;     String joinCondion = sCondition + "=" + dCondition;     String outString =       aoName + "\t" + sObject + "\t" + dObject + "\t" + Cardinality + "\t" +       joinCondion + "\t" + "Y" + "\n";     System.out.println(outString);     fw.write(outString);   }

转载请注明原文地址: https://www.6miu.com/read-4933677.html

最新回复(0)