最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

go解析svn log生成的xml格式的文件

 更新時(shí)間:2015年04月23日 11:17:15   投稿:hebedich  
這篇文章主要介紹了go解析svn log生成的xml格式的文件的方法,非常的實(shí)用,有需要的小伙伴可以參考下。

想用go做一個(gè)統(tǒng)計(jì)svn代碼提交的工具,類似statsvn。

今天進(jìn)展到了用go解析svn log生成的xml格式的文件,在go doc上找了一個(gè)Example,已經(jīng)包括了一些比較典型的解析案例,但是在照葫蘆畫瓢的時(shí)候還是遇到了問題,有個(gè)paths下有多個(gè)path,每個(gè)path都有自己的屬性和值,想同時(shí)渠道屬性和值,真是費(fèi)了好大的勁。

先上個(gè)svn xml 格式 log 的demo。

Example

<?xml version="1.0"?>
<log>
<logentry
  revision="43424">
<author>fukun</author>
<date>2015-03-13T11:05:17.341130Z</date>
<paths>
<path
  kind="file"
  action="M">/BigDataPlatform/trunk/application/controllers/Enterpriseajaxapi.php</path>
<path
  kind="file"
  action="M">/BigDataPlatform/trunk/application/models/ChartDataFormater.php</path>
<path
  kind="file"
  action="M">/BigDataPlatform/trunk/application/controllers/Mediaajaxapi.php</path>
</paths>
<msg>抽象出 格式化折線圖的方法</msg>
</logentry>
<logentry
  revision="43423">
<author>zhengjin</author>
<date>2015-03-13T11:04:50.450051Z</date>
<paths>
<path
  kind="file"
  action="M">/BigDataPlatform/trunk/public/static/js/mapChart.js</path>
</paths>
<msg>地圖事件響應(yīng)</msg>
</logentry>
</log>

解析其它的都很順利,但是解析paths這塊的時(shí)候遇到了點(diǎn)麻煩。如果 … Paths []Path `xml:”paths”` …,

Example

type Path struct {
  Kind string `xml:"kind,attr"`
  Action string `xml:"action,attr"`
  Path string `xml:"Path"`
} 

這樣的話,只能取到一個(gè)path的值,但是如果使用 Paths []Path `xml:”paths>path”` ,又只能取到Action和Kind的值,path的value取不到。在stackoverflow上又看了幾個(gè)例子,發(fā)現(xiàn)有個(gè),chardata的用法,才知道原來指定value還可以這樣用。將Path的struct Path 的xml定義改為 `xml:”,chardata”`,就可以順利的取到value了。

具體的struct就不寫了,如果有需要,可以到我正在開發(fā)的GoStatsvn去看看。托管在GitHub。

參考:
跟表示XML相關(guān)的數(shù)據(jù)結(jié)構(gòu)

①type Name struct {
Space, Local string
}
Local表示本地名字,Space表示命名空間前綴(命名空間標(biāo)示符),該類型沒有提供任何方法,主要用途一般是在XML根元素上定義一個(gè)該類型,變量名必須為XMLName,類型就為:xml.Name

②Attr(屬性)、CharData(字符數(shù)據(jù))、Comment(注釋)、ProcInst(處理指令)等。這些類型都是XML標(biāo)準(zhǔn)定義的表示,有興趣可以查看XML的標(biāo)準(zhǔn)對(duì)照學(xué)習(xí)。

相關(guān)文章

  • go內(nèi)存緩存BigCache封裝Entry源碼解讀

    go內(nèi)存緩存BigCache封裝Entry源碼解讀

    這篇文章主要為大家介紹了go內(nèi)存緩存BigCache封裝Entry源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • golang快速實(shí)現(xiàn)網(wǎng)頁截圖的方法

    golang快速實(shí)現(xiàn)網(wǎng)頁截圖的方法

    這篇文章主要介紹了golang快速實(shí)現(xiàn)網(wǎng)頁截圖的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • 詳解Go語言中net/http包的使用

    詳解Go語言中net/http包的使用

    Go語言內(nèi)置的?net/http?包十分的優(yōu)秀,提供了HTTP客戶端和服務(wù)端的實(shí)現(xiàn),本文主要就來和大家聊聊net/http包的使用,感興趣的可以了解一下
    2023-07-07
  • go語言實(shí)現(xiàn)順序存儲(chǔ)的棧

    go語言實(shí)現(xiàn)順序存儲(chǔ)的棧

    這篇文章主要介紹了go語言實(shí)現(xiàn)順序存儲(chǔ)的棧,實(shí)例分析了Go語言實(shí)現(xiàn)順序存儲(chǔ)的棧的原理與各種常見的操作技巧,需要的朋友可以參考下
    2015-03-03
  • Golang中的archive/zip包的常用函數(shù)詳解

    Golang中的archive/zip包的常用函數(shù)詳解

    Golang 中的 archive/zip 包用于處理 ZIP 格式的壓縮文件,提供了一系列用于創(chuàng)建、讀取和解壓縮 ZIP 格式文件的函數(shù)和類型,下面小編就來和大家講解下常用函數(shù)吧
    2023-08-08
  • golang通用的grpc?http基礎(chǔ)開發(fā)框架使用快速入門

    golang通用的grpc?http基礎(chǔ)開發(fā)框架使用快速入門

    這篇文章主要為大家介紹了golang通用的grpc?http基礎(chǔ)開發(fā)框架使用快速入門詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • golang trace view視圖詳解

    golang trace view視圖詳解

    在golang中可以使用go pprof的工具對(duì)golang程序進(jìn)行性能分析,其中通過go trace 命令生成的trace view視圖對(duì)于我們分析系統(tǒng)延遲十分有幫助,鑒于當(dāng)前對(duì)trace view視圖的介紹還是很少,在粗略的看過trace統(tǒng)計(jì)原理后,將對(duì)這部分做比較詳細(xì)的介紹
    2023-08-08
  • Go?實(shí)現(xiàn)?WebSockets和什么是?WebSockets

    Go?實(shí)現(xiàn)?WebSockets和什么是?WebSockets

    這篇文章主要介紹了Go?實(shí)現(xiàn)?WebSockets和什么是?WebSockets,WebSockets?是構(gòu)建實(shí)時(shí)應(yīng)用程序的第一大解決方案,在線游戲、即時(shí)通訊、跟蹤應(yīng)用程序等,下文相關(guān)內(nèi)容介紹需要的小伙伴可以參考一下
    2022-04-04
  • golang切片原理詳細(xì)解析

    golang切片原理詳細(xì)解析

    這篇文章主要介紹了golang切片原理詳細(xì)解析,切片在編譯時(shí)定義為Slice結(jié)構(gòu)體,并通過NewSlice()函數(shù)進(jìn)行創(chuàng)建,更多相關(guān)內(nèi)容感興趣的小伙伴可以參考一下下面文章內(nèi)容
    2022-06-06
  • 如何使用Golang創(chuàng)建與讀取Excel文件

    如何使用Golang創(chuàng)建與讀取Excel文件

    我最近工作忙于作圖,圖表,需要自己準(zhǔn)備數(shù)據(jù)源,所以經(jīng)常和Excel打交道,下面這篇文章主要給大家介紹了關(guān)于如何使用Golang創(chuàng)建與讀取Excel文件的相關(guān)資料,需要的朋友可以參考下
    2022-07-07

最新評(píng)論

井冈山市| 岑巩县| 天峨县| 佛坪县| 富源县| 庄河市| 上高县| 阿合奇县| 宜丰县| 井研县| 绿春县| 灵武市| 濮阳市| 襄城县| 大庆市| 陈巴尔虎旗| 阜城县| 敦化市| 辽源市| 双辽市| 崇州市| 远安县| 濉溪县| 广平县| 囊谦县| 盐源县| 德兴市| 彩票| 尼木县| 铜陵市| 富顺县| 瑞安市| 桃园县| 陵水| 海南省| 栾川县| 潞城市| 禄丰县| 永济市| 奉贤区| 巴南区|