XML数据的解析
发布时间:2020-12-16 00:16:03 所属栏目:百科 来源:网络整理
导读:XML Xml 简介: 1.Xml 是一种标记语言 2.Xml 的设计宗旨是传输数据,而非显示数据 3.Xml 标签是没有被预定义 4.Xml 被设计为具有自我描述性 5.W3c 的推荐标准 Xml 和 html 的对比: 1.Xml 不是 html 的替代 2.Xml 被设计为传输和存储数据,其焦点是数据的内
XMLXml简介:1.Xml是一种标记语言2.Xml的设计宗旨是传输数据,而非显示数据3.Xml标签是没有被预定义4.Xml被设计为具有自我描述性5.W3c的推荐标准Xml和html的对比:1.Xml不是html的替代2.Xml被设计为传输和存储数据,其焦点是数据的内容3.Html被设计用来显示数据,其焦点是数据的外观4.Html旨在显示信息,html旨在传输信息Xml的特点:Xml仅仅是纯文本,xml没有预定的标签Xml的语法规则:1.必须关闭标签2.区分大小写3.必须正确的嵌套4.必须有根元素5.属性值必须加引号6.空格会被保留Xml文件的读取//factory->builder->document DocumentBuilderFactory builderfactory=DocumentBuilderFactory.newInstance(); DocumentBuilder builder=builderfactory.newDocumentBuilder(); Document document=builder.parse(getAssets().open("test.xml")); //创建一个element盛放节点 Element element=document.getDocumentElement(); //创建一个nodelist盛放list数据 NodeList list=element.getElementsByTagName("lan"); for(int i=0;i<list.getLength();i++){ Element lan=(Element)list.item(i); //用getattribute得到节点属性 text.append(lan.getAttribute("id")+"n"); text.append(lan.getElementsByTagName("name").item(0).getTextContent()+"n"); text.append(lan.getElementsByTagName("ide").item(0).getTextContent()+"n"); } Xml文件的写入DocumentBuilderFactory builderfactory=DocumentBuilderFactory .newInstance(); DocumentBuilder builder = builderfactory.newDocumentBuilder(); Document newxml=builder.newDocument(); //创建第一个元素 Element languages=newxml.createElement("languages"); //把数据放入第一个元素中 languages.setAttribute("cat","it"); //创建一个lan1元素 Element lan1=newxml.createElement("lan"); //设置这个元素的属性 lan1.setAttribute("id","1"); Element name1=newxml.createElement("name"); //设置元素的内容 name1.setTextContent("java"); Element ide1=newxml.createElement("ide"); ide1.setTextContent("eclipse"); //把元素放进lan1中 lan1.appendChild(name1); lan1.appendChild(ide1); //把lan1放入根元素中 languages.appendChild(lan1); Element lan2=newxml.createElement("lan"); lan2.setAttribute("id","2"); Element name2=newxml.createElement("name"); name2.setTextContent("swift"); Element ide2=newxml.createElement("ide"); ide2.setTextContent("xcode"); lan2.appendChild(name2); lan2.appendChild(ide2); languages.appendChild(lan2); //把根元素添加到newxml中 newxml.appendChild(languages); //使用TransformerFactory->Transformer设置输出编码方式 TransformerFactory transformerFactory=TransformerFactory .newInstance(); Transformer transformer=transformerFactory.newTransformer(); transformer.setOutputProperty("encoding","utf-8"); //使用stringwrite和transformer输出结果 StringWriter sw=new StringWriter(); transformer.transform(new DOMSource(newxml),new StreamResult(sw)); text.setText(sw.toString()); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |