国产探花免费观看_亚洲丰满少妇自慰呻吟_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的標準對照學習。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿巴嘎旗| 屏山县| 洛扎县| 甘肃省| 岱山县| 马公市| 芒康县| 邳州市| 韶关市| 张家港市| 若羌县| 长垣县| 玉树县| 墨江| 台北县| 广南县| 新建县| 通化县| 彭阳县| 衡东县| 周口市| 天气| 昌宁县| 松溪县| 宁武县| 安乡县| 鄂温| 花莲县| 广平县| 平远县| 华坪县| 奉新县| 乾安县| 巴林右旗| 宜春市| 乌兰县| 上虞市| 玉溪市| 临漳县| 土默特右旗| 龙州县|