android应用开发之xml生成————————xml命名域与属性
2013-11-16 11:15
441 查看
项目需要生成xml,样式较为复杂,几经曲折终于搞定,生成xml的样式如下:
看上的xml中xmlns就是属于tag的属性,而sax则属于一个命名空间,这是个什么东西呢
言而总之就是说xxid引用的是xmlns:sax的值,此处代表性别男性,而他自己可以是中年男性,也可以是小男孩,也可以是青年或老年人等
我的理解命名空间 类似与java的包的概念
实现代码如下
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?> <root xmlns="china"> ... ... <BodyList xmlns:sax="male" xml:name="chinese"> <Body> <sax:xxid>中年男性</sax:xxid> <name:xxname>尼大叔</name:xxname> </Body> <Body> ... ... </Body> </BodyList> ... ... </root>
看上的xml中xmlns就是属于tag的属性,而sax则属于一个命名空间,这是个什么东西呢
言而总之就是说xxid引用的是xmlns:sax的值,此处代表性别男性,而他自己可以是中年男性,也可以是小男孩,也可以是青年或老年人等
我的理解命名空间 类似与java的包的概念
实现代码如下
public String createXml() { XmlSerializer xmlSerializer = Xml.newSerializer(); StringWriter writer = new StringWriter(); try { xmlSerializer.setOutput(writer); xmlSerializer.startDocument("UTF-8", true); /** * 此处生成的是<root xmlns="china"> */ xmlSerializer.startTag("", "root"); xmlSerializer.attribute("", "xmlns", "china"); // ... ... /** * 这里会生成命名空间,命名空间和属性从表面看最大区别就是: * 声明的时候(应该说赋值的时候),一个带前缀,一个不带前缀 */ xmlSerializer.setPrefix("sax", "max"); xmlSerializer.setPrefix("name", "chinese"); xmlSerializer.startTag("", "BodyList"); xmlSerializer.startTag("", "Body"); /** * 对于命名空间值的运用,把starttag的namespace参数添加上去相应的即可 * public abstract XmlSerializer startTag (String namespace, String name) */ xmlSerializer.startTag("sax", "xxid"); xmlSerializer.text("中年大叔"); xmlSerializer.endTag("sax", "xxid"); /** * 如果此处设置前缀的话(即调用方法setPrefix)就会生成错误的结果 */ xmlSerializer.startTag("name", "xxname"); xmlSerializer.text("尼大叔"); //这个是中间的文字 xmlSerializer.endTag("name", "xxname"); xmlSerializer.endTag("", "Body"); xmlSerializer.endTag("", "BodyList"); // ... ... // 文档结束 xmlSerializer.endTag("", "root"); xmlSerializer.endDocument(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } String resultString = writer.toString(); try { if (writer != null) { writer.close(); } } catch (IOException e) { e.printStackTrace(); } return resultString; }
相关文章推荐
- 禁止Eclipse中xml文件Run as的XSL Transformation生成out.xml以方便Android应用开发
- 禁止Eclipse中xml文件Run as的XSL Transformation生成out.xml以方便Android应用开发
- Android开发自动生成的AndroidManifest.xml中的allowBackup属性的含义和危险性实例讲解
- Android应用开发之(AndroidManifest.xml部分属性说明)
- Android--应用开发3(Android layout XML属性)
- Android 程式开发:(四)使用Intent调用“内置”应用 —— 4.4添加Category属性
- Android开发---xml布局文件中的常见属性总结
- Android 100多个Styles快速开发布局XML,一行搞定View属性,一键统一配置UI..
- Android开发中XML布局的常用属性说明
- eclipse在开发android应用时出现类似main.out.xml
- android开发 drawable中XML的相关应用
- android开发 drawable中XML的相关应用
- iOS开发UI篇—ios应用数据存储方式(XML属性列表-plist)
- android应用开发详解(十四)-------------Intent的Extras属性(续)
- Android应用开发:动画开发——XML动画
- Android开发——自动生成Android屏幕适配的dimens.xml文件
- 【android开发】styles.xml常用的设置属性汇总
- android 应用开发不能自动生成R.java的原因
- 关于在Android开发时遇到写xml时app属性没有提示的解决
- Android应用开发——TextView控件属性列表