xml
发布时间:2020-12-16 05:41:56 所属栏目:百科 来源:网络整理
导读:packagecn.demo; importjava.io.File; importjavax.xml.parsers.DocumentBuilder;importjavax.xml.parsers.DocumentBuilderFactory;importjavax.xml.transform.Transformer;importjavax.xml.transform.TransformerFactory;importjavax.xml.transform.dom.DOM
packagecn.demo; importjava.io.File; importjavax.xml.parsers.DocumentBuilder; importjavax.xml.parsers.DocumentBuilderFactory; importjavax.xml.transform.Transformer; importjavax.xml.transform.TransformerFactory; importjavax.xml.transform.dom.DOMSource; importjavax.xml.transform.stream.StreamResult; importorg.junit.Test; importorg.w3c.dom.Document; importorg.w3c.dom.Element; importorg.w3c.dom.NodeList; publicclassDemo01_Dom{ @Test publicvoidtest1()throwsException{ //1:创建XML解析器 DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance(); DocumentBuilderdb=dbf.newDocumentBuilder(); //2:解析Xml文件,返回一个org.w3c.Docuemnt内存文档对象 Documentdom=db.parse(newFile("./files/studs.xml")); //3:读取所有cls元素 NodeListnl=dom.getElementsByTagName("cls"); //遍历所有List for(inti=0;i<nl.getLength();i++){ Elementele=(Element)nl.item(i);//获取每一个元素<cls> Stringname=ele.getAttribute("name");//获取name属性的值 System.err.println(name); //在ele下获取<stud>元素 NodeListstuds=ele.getElementsByTagName("stud"); for(intj=0;j<studs.getLength();j++){ Elementstud=(Element)studs.item(j); Stringid=stud.getAttribute("id"); StringstudName=stud.getElementsByTagName("name").item(0).getTextContent(); StringstudAge=stud.getElementsByTagName("age").item(0).getTextContent(); NodeListtels=stud.getElementsByTagName("tel"); Stringtel=""; if(tels.getLength()>0){ tel=tels.item(0).getTextContent(); } System.err.println(id+","+studName+","+studAge+","+tel); } System.err.println("====================="); } } @Test publicvoidtest2()throwsException{ DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance(); DocumentBuilderdb=dbf.newDocumentBuilder(); Documentdom=db.parse(newFile("./files/studs.xml")); //创建一个新的班 ElementnewClsEle=dom.createElement("cls");//只是在内存中创建 newClsEle.setAttribute("name","新班"); ElementnewStudEle=dom.createElement("stud"); newStudEle.setAttribute("id","S100"); ElementeleName=dom.createElement("name"); eleName.setTextContent("越了"); newStudEle.appendChild(eleName); newClsEle.appendChild(newStudEle);//获取根元素 dom.getFirstChild().appendChild(newClsEle); //使用transformer保存内存中的xml文件 Transformerts=TransformerFactory.newInstance().newTransformer(); //保存 ts.transform(newDOMSource(dom),newStreamResult("./files/a.xml")); } @Test publicvoidtest3()throwsException{ DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance(); DocumentBuilderdb=dbf.newDocumentBuilder(); Documentdom=db.parse(newFile("./files/studs.xml")); NodeListnl=dom.getElementsByTagName("cls"); Elementele=(Element)nl.item(nl.getLength()-1); //dom.getFirstChild().removeChild(ele); ele.getParentNode().removeChild(ele); //使用transformer保存内存中的xml文件 Transformerts=TransformerFactory.newInstance().newTransformer(); //保存 ts.transform(newDOMSource(dom),newStreamResult("./files/studs.xml")); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |