Maison >développement back-end >Tutoriel XML/RSS >Créer du XML à la manière d'Android Dom

Créer du XML à la manière d'Android Dom

黄舟
黄舟original
2017-02-09 14:09:022053parcourir

Dans l'article sur la façon d'analyser XML avec Android Dom, l'application de dom parsing XML est brièvement présentée. Aujourd'hui, sur la base de l'article original, parlons de l'application de dom pour créer du XML sous Android.

Tout d'abord : les fichiers créés seront placés sous /data/data/cn.com.xxx (nom actuel du package)/files.

Le fichier XML généré créé est le suivant :

<?xml version="1.0" encoding="utf-8"?>  
<classes>  
    <group name="一年级" num="10">  
        <person name="小明" age="7">  
            <chinese>语文90</chinese>  
            <english>英语80</english>  
        </person>  
    </group>  
</classes>

Vous pouvez directement utiliser la méthode dans l'article sur la méthode XML d'analyse dom Android pour l'analyser. Veuillez apporter quelques modifications :

// 从assets文件夹下获取文件 转换成输入流  
//          inStream = this.getResources().getAssets().open(fileName);  
//          doc = docBuilder.parse(inStream);  
            InputStream fosStream = openFileInput(fileName);  
            doc = docBuilder.parse(fosStream);


En même temps, la méthode d'acquisition fileName :

String[] fileNames = getFilesDir().list();
String fileName = fileNames[0];


Le résultat analysé est

Créer du XML à la manière dAndroid Dom

Voici le code pour créer un fichier XML :


private void createXmlFile(){  
          
        try {  
            DocumentBuilderFactory factory = DocumentBuilderFactory  
                    .newInstance();  
            DocumentBuilder builder = factory.newDocumentBuilder();  
            Document doc  = builder.newDocument();  
            //创建xml根元素  
            Element rootEle = doc.createElement("classes");  
            doc.appendChild(rootEle);  
            //创建xml二级元素  
            Element groupEle = doc.createElement("group");  
            groupEle.setAttribute("name", "一年级");  
            groupEle.setAttribute("num", "10");  
            //创建xml person元素  
            Element personEle = doc.createElement("person");  
            //personEle 的属性和属性值  
            personEle.setAttribute("name", "小明");  
            personEle.setAttribute("age", "7");  
            //创建personELe的子元素  
            Element chinese = doc.createElement("chinese");  
            //创建personELe的子元素的值  
            chinese.appendChild(doc.createTextNode("语文90"));  
            personEle.appendChild(chinese);  
            Element english = doc.createElement("english");  
            english.appendChild(doc.createTextNode("英语80"));  
            personEle.appendChild(english);  
              
            groupEle.appendChild(personEle);  
            rootEle.appendChild(groupEle);  
              
            TransformerFactory tf = TransformerFactory.newInstance();  
            Transformer transformer = tf.newTransformer();  
              
            DOMSource source = new DOMSource(doc);  
            transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");  
            transformer.setOutputProperty(OutputKeys.INDENT, "no");  
            //创建文件存放在 /data/data/cn.xxx.xxx(当前包)/files   
            FileOutputStream fos = openFileOutput("Dom.xml", Context.MODE_PRIVATE);  
            //创建文件存放在 /data/data/cn.xxx.xxx(当前包)/cache  
//          FileOutputStream fos = Op  
            PrintWriter pw = new PrintWriter(fos);  
            StreamResult result = new StreamResult(pw);  
            transformer.transform(source, result);  
              
            System.out.println("生成XML文件成功!");  
        } catch (ParserConfigurationException e) {  
            System.out.println(e.getMessage());  
        } catch (TransformerConfigurationException e) {  
            System.out.println(e.getMessage());  
        } catch (TransformerException e) {  
            System.out.println(e.getMessage());  
        } catch (FileNotFoundException e) {  
            System.out.println(e.getMessage());  
        }  
          
    }

Ce qui précède est le contenu de la création de XML dans la méthode Android dom, plus Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn