国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Golang > 正文

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

2020-04-01 19:14:41
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了go解析svn log生成的xml格式的文件的方法,非常的實用,有需要的小伙伴可以參考下。

想用go做一個統計svn代碼提交的工具,類似statsvn。

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

先上個svn xml 格式 log 的demo。

Example

 

 
  1. <?xml version="1.0"?> 
  2. <log> 
  3. <logentry 
  4. revision="43424"
  5. <author>fukun</author> 
  6. <date>2015-03-13T11:05:17.341130Z</date> 
  7. <paths> 
  8. <path 
  9. kind="file" 
  10. action="M">/BigDataPlatform/trunk/application/controllers/Enterpriseajaxapi.php</path> 
  11. <path 
  12. kind="file" 
  13. action="M">/BigDataPlatform/trunk/application/models/ChartDataFormater.php</path> 
  14. <path 
  15. kind="file" 
  16. action="M">/BigDataPlatform/trunk/application/controllers/Mediaajaxapi.php</path> 
  17. </paths> 
  18. <msg>抽象出 格式化折線圖的方法</msg> 
  19. </logentry> 
  20. <logentry 
  21. revision="43423"
  22. <author>zhengjin</author> 
  23. <date>2015-03-13T11:04:50.450051Z</date> 
  24. <paths> 
  25. <path 
  26. kind="file" 
  27. action="M">/BigDataPlatform/trunk/public/static/js/mapChart.js</path> 
  28. </paths> 
  29. <msg>地圖事件響應</msg> 
  30. </logentry> 
  31. </log> 

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

Example

 

 
  1. type Path struct { 
  2. Kind string `xml:"kind,attr"
  3. Action string `xml:"action,attr"
  4. Path string `xml:"Path"
  5. }  

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

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

參考:

跟表示XML相關的數據結構

①type Name struct {

Space, Local string

}

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

②Attr(屬性)、CharData(字符數據)、Comment(注釋)、ProcInst(處理指令)等。這些類型都是XML標準定義的表示,有興趣可以查看XML的標準對照學習。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桓仁| 湄潭县| 平南县| 宜良县| 日土县| 法库县| 滦平县| 舒城县| 浪卡子县| 抚顺市| 巩留县| 许昌市| 疏勒县| 沁源县| 电白县| 平塘县| 乌鲁木齐县| 雷山县| 吉安县| 揭西县| 南部县| 渑池县| 镇宁| 益阳市| 湘潭市| 化德县| 甘孜县| 太仓市| 马山县| 陆川县| 东莞市| 昆明市| 哈巴河县| 扎鲁特旗| 大安市| 广平县| 类乌齐县| 阳曲县| 罗山县| 柞水县| 龙江县|