加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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"));
}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读