XML生成的方式

版权声明: https://blog.csdn.net/Jerryocean/article/details/80237795

这是第一种方式:StringBuilder 

//以拼接字符串方式生成xml文件,面向过程

	public void genXml(View v){
//		<?xml version="1.0" encoding="UTF-8" standalone="true"?>
//		<map>
//		<boolean value="false" name="isChecked"/>
//		</map>
		
		StringBuilder sb = new StringBuilder();
		sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"true\"?>");
		sb.append("<map>");
		sb.append("<boolean value=\"false\" name=\"isChecked\"/>");
		sb.append("</map>");
		
		String xml = sb.toString();
		
		Toast.makeText(this, xml, Toast.LENGTH_LONG).show();
	}

这是第二种方式:XmlSerializer 

public void genXml2(View v){
		try {
			//获得一个序列化器
			XmlSerializer xmlSerializer = Xml.newSerializer();
			
			//android应用程序中,默认只将文件保存在/data/data/自己的包名/
			File file = new File("/data/data/com.itheima.genxml/test.xml");
			FileOutputStream fos = new FileOutputStream(file);
			
			//将输出流传给序列化器对象,并指定编码
			xmlSerializer.setOutput(fos, "utf-8");
			
			//写文档开头
			xmlSerializer.startDocument("utf-8", true);
			
			//写文档的开始标签
			xmlSerializer.startTag(null, "map");
			
			//写文档的开始标签
			xmlSerializer.startTag(null, "boolean");
				
			xmlSerializer.attribute(null, "value","false");
			xmlSerializer.attribute(null, "name","isChecked");
			//写结束标签
			xmlSerializer.endTag(null, "boolean");
			//写结束标签
			xmlSerializer.endTag(null, "map");
			
			//文档结束
			xmlSerializer.endDocument();
			
			fos.close();
			
			Toast.makeText(MainActivity.this, "生成成功", Toast.LENGTH_SHORT).show();
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

下面这个是效果图:


没有更多推荐了,返回首页