編輯:關於Android編程
<?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的包的概念 實現代碼如下
項目需要生成xml,樣式較為復雜,幾經曲折終於搞定,生成xml的樣式如下: <?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的包的概念 實現代碼如下 [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; }
本文本著開源的精神介紹如何向一個Android系統中添加一個產品的整個過程,按照以下過程筆者有理由相信每個將要從事本行業的人都可以完成,其實添加一個產品並不難,難的是對其
一、首先,我們來看一下效果圖,這是新浪微博的Tab滑動效果。我們可以手勢滑動,也可以點擊上面的頭標進行切換。與此同方式, 白色橫條會移動到相應的頁卡頭標下。這是一個動
概述前段時間,在用到新版(3.5.0版)百度地圖時,在地圖覆蓋物實現以及覆蓋物點擊事件的添加部分遇到點挫折,發現網上很多的資料寫得都不夠詳細,所以我就想寫一個有關從地圖定
前言:最近在研究MediaCodec,u盤壞了,之前下載的源碼也就自然沒有了,真是個難過的事情,不能因為沒有源碼了,就阻擋我的計劃了呀,於是就是今天一文,在線看Andro