示例点击按钮生成一个xml文件
例如XML文件格式,将数据进行封装
- public class NewsInfo {
- private String title;
- private String content;
- private String date;
- public String getTitle() {
- return title;
- }
- public void setTitle(String title) {
- this.title = title;
- }
- public String getContent() {
- return content;
- }
- public void setContent(String content) {
- this.content = content;
- }
- public String getDate() {
- return date;
- }
- public void setDate(String date) {
- this.date = date;
- }
- @Override
- public String toString() {
- return "NewsInfo{" +
- "title='" + title + '\'' +
- ", content='" + content + '\'' +
- ", date='" + date + '\'' +
- '}';
- }
- }
-
生成一个news.xml文件(注释很详细)
MainActivity里的代码
- public class MainActivity extends AppCompatActivity {
-
- private List<NewsInfo> newsList;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- initData();
- }
- private void test() {
- for (NewsInfo newsInfo : this.newsList) { /*类型是遍历数据的类型 每次遍历集合元素名字 :遍历数组或list*/
- System.out.println(newsInfo.toString());
- }
- }
- private void initData() {
- newsList = new ArrayList<>();
- for (int i = 0; i < 30; i++) {
- NewsInfo newsInfo = new NewsInfo();
- newsInfo.setTitle("Title" + i);
- newsInfo.setContent("jjjjj" + i);
- /*获得日期 */
- Date date = new Date(System.currentTimeMillis());
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy--MM--dd HH:mm:ss");
- String time = dateFormat.format(date);
- newsInfo.setDate(time + ";" + i);
- /*newsinfo装进来*/
- newsList.add(newsInfo);
- }
- }
- public void CreateXML(View view) {
- XmlSerializer xmlSerializer = Xml.newSerializer();
- File file = new File(Environment.getExternalStorageDirectory().getPath(),"news.xml");
- try {
- FileOutputStream fos = new FileOutputStream(file);/*fos输出流 file路径*/
- xmlSerializer.setOutput(fos,"utf-8");/*utf_8写流编码方式*/
- xmlSerializer.startDocument("utf-8",true);/*utf_8 xml显示的编码方式,xml和别的xml有无联系*/
- xmlSerializer.startTag(null,"newss"); /*命名空间有无*/
- for (NewsInfo newsInfo:this.newsList) {
- xmlSerializer.startTag(null,"news");
- xmlSerializer.startTag(null,"title");
- xmlSerializer.text(newsInfo.getTitle());
- xmlSerializer.endTag(null,"title");
- xmlSerializer.startTag(null,"content");
- xmlSerializer.text(newsInfo.getContent());
- xmlSerializer.endTag(null,"content");
- xmlSerializer.startTag(null,"date");
- xmlSerializer.text(newsInfo.getDate());
- xmlSerializer.endTag(null,"date");
- xmlSerializer.endTag(null,"news");
- }
- xmlSerializer.endTag(null,"newss");
- xmlSerializer.endDocument();
- fos.close();
- Toast.makeText(this, "SUCCESS", Toast.LENGTH_SHORT).show();
- return; /*方法结束标志*/
- } catch (Exception e) {
- e.printStackTrace();
- }
- Toast.makeText(this, "FALLED", Toast.LENGTH_SHORT).show();
- }
-
-
- }
-
点击按钮
最终在mnt—sdcard生成一个xml文件