前几周跟着老师做了个项目,个人主要负责xml文档处理.

先贴下修改前的xml(部分)

  1. <?xml version="1.0" encoding="GB2312" standalone="yes"?>
  2. <BroadcastData code="110000000" creationtime="20171103111425" version="2.0">
  3. <ProviderInfo id="ChinaEPG" name="David" />
  4. <SchedulerData>
  5. <Channel type="Normal">
  6. <ChannelText language="chi">
  7. <ChannelName>CCTV-1高清</ChannelName>
  8. </ChannelText>
  9. <Event eventid="1" begintime="20171103004800" duration="004500" eventtype="00">
  10. <EventText language="chi">
  11. <Name>动物世界</Name>
  12. <ShortDescription />
  13. </EventText>
  14. </Event>
  15. <Event eventid="2" begintime="20171103013300" duration="003000" eventtype="11">
  16. <EventText language="chi">
  17. <Name>晚间新闻</Name>
  18. <ShortDescription />
  19. </EventText>
  20. </Event>
  21. <Event eventid="3" begintime="20171103020300" duration="004800" eventtype="11">
  22. <EventText language="chi">
  23. <Name>超级工程Ⅱ:中国路</Name>
  24. <ShortDescription />
  25. </EventText>
  26. </Event>
  27. <Event eventid="4" begintime="20171103025100" duration="000900" eventtype="11">
  28. <EventText language="chi">
  29. <Name>精彩1刻:航拍中国-陕西</Name>
  30. <ShortDescription />
  31. </EventText>
  32. </Event>
  33. <Event eventid="5" begintime="20171103030000" duration="012900" eventtype="11">
  34. <EventText language="chi">
  35. <Name>中国诗词大会Ⅱ:第一场</Name>
  36. <ShortDescription />
  37. </EventText>
  38. </Event>
  39. <Event eventid="6" begintime="20171103042900" duration="002800" eventtype="11">
  40. <EventText language="chi">
  41. <Name>今日说法</Name>
  42. <ShortDescription />
  43. </EventText>
  44. </Event>
  45. <Event eventid="7" begintime="20171103045700" duration="003000" eventtype="11">
  46. <EventText language="chi">
  47. <Name>新闻联播</Name>
  48. <ShortDescription />
  49. </EventText>
  50. </Event>
  51. <Event eventid="8" begintime="20171103052700" duration="003300" eventtype="11">
  52. <EventText language="chi">
  53. <Name>人与自然</Name>
  54. <ShortDescription />
  55. </EventText>
  56. </Event>
  57. <Event eventid="9" begintime="20171103060000" duration="023600" eventtype="11">
  58. <EventText language="chi">
  59. <Name>朝闻天下</Name>
  60. <ShortDescription />
  61. </EventText>
  62. </Event>
  63. <Event eventid="10" begintime="20171103083600" duration="004700" eventtype="11">
  64. <EventText language="chi">
  65. <Name>生活圈</Name>
  66. <ShortDescription />
  67. </EventText>
  68. </Event>
  69. <Event eventid="11" begintime="20171103092300" duration="005100" eventtype="11">
  70. <EventText language="chi">
  71. <Name>太行山上(14)</Name>
  72. <ShortDescription />
  73. </EventText>
  74. </Event>
  75. <Event eventid="12" begintime="20171103101400" duration="004700" eventtype="11">
  76. <EventText language="chi">
  77. <Name>太行山上(15)</Name>
  78. <ShortDescription />
  79. </EventText>
  80. </Event>
  81. <Event eventid="13" begintime="20171103110100" duration="005900" eventtype="11">
  82. <EventText language="chi">
  83. <Name>太行山上(16)</Name>
  84. <ShortDescription />
  85. </EventText>
  86. </Event>
  87. <Event eventid="14" begintime="20171103120000" duration="003600" eventtype="11">
  88. <EventText language="chi">
  89. <Name>新闻30分</Name>
  90. <ShortDescription />
  91. </EventText>
  92. </Event>
  93. <Event eventid="15" begintime="20171103123600" duration="004200" eventtype="11">
  94. <EventText language="chi">
  95. <Name>今日说法</Name>
  96. <ShortDescription />
  97. </EventText>
  98. </Event>
  99. <Event eventid="16" begintime="20171103131800" duration="004800" eventtype="11">
  100. <EventText language="chi">
  101. <Name>鸡毛飞上天(15)</Name>
  102. <ShortDescription />
  103. </EventText>
  104. </Event>
  105. <Event eventid="17" begintime="20171103140600" duration="005300" eventtype="11">
  106. <EventText language="chi">
  107. <Name>鸡毛飞上天(16)</Name>
  108. <ShortDescription />
  109. </EventText>
  110. </Event>
  111. <Event eventid="18" begintime="20171103145900" duration="005000" eventtype="11">
  112. <EventText language="chi">
  113. <Name>鸡毛飞上天(17)</Name>
  114. <ShortDescription />
  115. </EventText>
  116. </Event>
  117. <Event eventid="19" begintime="20171103154900" duration="005700" eventtype="11">
  118. <EventText language="chi">
  119. <Name>鸡毛飞上天(18)</Name>
  120. <ShortDescription />
  121. </EventText>
  122. </Event>
  123. <Event eventid="20" begintime="20171103164600" duration="000600" eventtype="11">
  124. <EventText language="chi">
  125. <Name>中国梦歌曲:满城烟花</Name>
  126. <ShortDescription />
  127. </EventText>
  128. </Event>
  129. <Event eventid="21" begintime="20171103165200" duration="000800" eventtype="11">
  130. <EventText language="chi">
  131. <Name>第一动画乐园</Name>
  132. <ShortDescription />
  133. </EventText>
  134. </Event>
  135. <Event eventid="22" begintime="20171103170000" duration="005700" eventtype="11">
  136. <EventText language="chi">
  137. <Name>第一动画乐园</Name>
  138. <ShortDescription />
  139. </EventText>
  140. </Event>
  141. <Event eventid="23" begintime="20171103175700" duration="002600" eventtype="11">
  142. <EventText language="chi">
  143. <Name>第一动画乐园</Name>
  144. <ShortDescription />
  145. </EventText>
  146. </Event>
  147. <Event eventid="24" begintime="20171103182300" duration="001000" eventtype="11">
  148. <EventText language="chi">
  149. <Name>第一动画乐园:故事乐园</Name>
  150. <ShortDescription />
  151. </EventText>
  152. </Event>
  153. <Event eventid="25" begintime="20171103183300" duration="002700" eventtype="11">
  154. <EventText language="chi">
  155. <Name>第一动画乐园</Name>
  156. <ShortDescription />
  157. </EventText>
  158. </Event>
  159. <Event eventid="26" begintime="20171103190000" duration="003000" eventtype="11">
  160. <EventText language="chi">
  161. <Name>新闻联播</Name>
  162. <ShortDescription />
  163. </EventText>
  164. </Event>
  165. <Event eventid="27" begintime="20171103193000" duration="001000" eventtype="11">
  166. <EventText language="chi">
  167. <Name>天气预报</Name>
  168. <ShortDescription />
  169. </EventText>
  170. </Event>
  171. <Event eventid="28" begintime="20171103194000" duration="002200" eventtype="11">
  172. <EventText language="chi">
  173. <Name>焦点访谈</Name>
  174. <ShortDescription />
  175. </EventText>
  176. </Event>
  177. <Event eventid="29" begintime="20171103200200" duration="000500" eventtype="11">
  178. <EventText language="chi">
  179. <Name>前情提要:青恋(24)</Name>
  180. <ShortDescription />
  181. </EventText>
  182. </Event>
  183. <Event eventid="30" begintime="20171103200700" duration="005300" eventtype="11">
  184. <EventText language="chi">
  185. <Name>青恋(24)</Name>
  186. <ShortDescription />
  187. </EventText>
  188. </Event>
  189. <Event eventid="31" begintime="20171103210000" duration="010000" eventtype="11">
  190. <EventText language="chi">
  191. <Name>机智过人Ⅰ(6)</Name>
  192. <ShortDescription />
  193. </EventText>
  194. </Event>
  195. <Event eventid="32" begintime="20171103220000" duration="004200" eventtype="11">
  196. <EventText language="chi">
  197. <Name>晚间新闻</Name>
  198. <ShortDescription />
  199. </EventText>
  200. </Event>
  201. <Event eventid="33" begintime="20171103224200" duration="005600" eventtype="11">
  202. <EventText language="chi">
  203. <Name>机智过人Ⅰ(6)</Name>
  204. <ShortDescription />
  205. </EventText>
  206. </Event>
  207. <Event eventid="34" begintime="20171103233800" duration="002100" eventtype="11">
  208. <EventText language="chi">
  209. <Name>加油向未来(9)</Name>
  210. <ShortDescription />
  211. </EventText>
  212. </Event>
  213. <Event eventid="35" begintime="20171103235900" duration="012600" eventtype="22">
  214. <EventText language="chi">
  215. <Name>结束</Name>
  216. <ShortDescription />
  217. </EventText>
  218. </Event>
  219. <Event eventid="36" begintime="20171104012500" duration="000800" eventtype="00">
  220. <EventText language="chi">
  221. <Name>生活提示</Name>
  222. <ShortDescription />
  223. </EventText>
  224. </Event>
  225. <Event eventid="37" begintime="20171104013300" duration="003200" eventtype="11">
  226. <EventText language="chi">
  227. <Name>晚间新闻</Name>
  228. <ShortDescription />
  229. </EventText>
  230. </Event>
  231. <Event eventid="38" begintime="20171104020500" duration="004500" eventtype="11">
  232. <EventText language="chi">
  233. <Name>动物世界</Name>
  234. <ShortDescription />
  235. </EventText>
  236. </Event>
  237. <Event eventid="39" begintime="20171104025000" duration="001000" eventtype="11">
  238. <EventText language="chi">
  239. <Name>精彩1刻:航拍中国-陕西</Name>
  240. <ShortDescription />
  241. </EventText>
  242. </Event>
  243. <Event eventid="40" begintime="20171104030000" duration="012900" eventtype="11">
  244. <EventText language="chi">
  245. <Name>中国诗词大会Ⅱ:第二场</Name>
  246. <ShortDescription />
  247. </EventText>
  248. </Event>
  249. <Event eventid="41" begintime="20171104042900" duration="002800" eventtype="11">
  250. <EventText language="chi">
  251. <Name>今日说法</Name>
  252. <ShortDescription />
  253. </EventText>
  254. </Event>
  255. <Event eventid="42" begintime="20171104045700" duration="003000" eventtype="11">
  256. <EventText language="chi">
  257. <Name>新闻联播</Name>
  258. <ShortDescription />
  259. </EventText>
  260. </Event>
  261. <Event eventid="43" begintime="20171104052700" duration="003300" eventtype="11">
  262. <EventText language="chi">
  263. <Name>人与自然</Name>
  264. <ShortDescription />
  265. </EventText>
  266. </Event>
  267. <Event eventid="44" begintime="20171104060000" duration="023600" eventtype="11">
  268. <EventText language="chi">
  269. <Name>朝闻天下</Name>
  270. <ShortDescription />
  271. </EventText>
  272. </Event>
  273. <Event eventid="45" begintime="20171104083600" duration="004800" eventtype="11">
  274. <EventText language="chi">
  275. <Name>太行山上(17)</Name>
  276. <ShortDescription />
  277. </EventText>
  278. </Event>
  279. <Event eventid="46" begintime="20171104092400" duration="004900" eventtype="11">
  280. <EventText language="chi">
  281. <Name>太行山上(18)</Name>
  282. <ShortDescription />
  283. </EventText>
  284. </Event>
  285. <Event eventid="47" begintime="20171104101300" duration="014700" eventtype="11">
  286. <EventText language="chi">
  287. <Name>加油向未来(9)</Name>
  288. <ShortDescription />
  289. </EventText>
  290. </Event>
  291. <Event eventid="48" begintime="20171104120000" duration="003600" eventtype="11">
  292. <EventText language="chi">
  293. <Name>新闻30分</Name>
  294. <ShortDescription />
  295. </EventText>
  296. </Event>
  297. <Event eventid="49" begintime="20171104123600" duration="003900" eventtype="11">
  298. <EventText language="chi">
  299. <Name>今日说法</Name>
  300. <ShortDescription />
  301. </EventText>
  302. </Event>
  303. <Event eventid="50" begintime="20171104131500" duration="010200" eventtype="11">
  304. <EventText language="chi">
  305. <Name>寻宝-我有传家宝</Name>
  306. <ShortDescription />
  307. </EventText>
  308. </Event>
  309. <Event eventid="51" begintime="20171104141700" duration="005100" eventtype="11">
  310. <EventText language="chi">
  311. <Name>鸡毛飞上天(19)</Name>
  312. <ShortDescription />
  313. </EventText>
  314. </Event>
  315. <Event eventid="52" begintime="20171104150800" duration="005000" eventtype="11">
  316. <EventText language="chi">
  317. <Name>鸡毛飞上天(20)</Name>
  318. <ShortDescription />
  319. </EventText>
  320. </Event>
  321. <Event eventid="53" begintime="20171104155800" duration="004900" eventtype="11">
  322. <EventText language="chi">
  323. <Name>鸡毛飞上天(21)</Name>
  324. <ShortDescription />
  325. </EventText>
  326. </Event>
  327. <Event eventid="54" begintime="20171104164700" duration="005700" eventtype="11">
  328. <EventText language="chi">
  329. <Name>鸡毛飞上天(22)</Name>
  330. <ShortDescription />
  331. </EventText>
  332. </Event>
  333. <Event eventid="55" begintime="20171104174400" duration="001600" eventtype="11">
  334. <EventText language="chi">
  335. <Name>中国梦歌曲:大地芬芳</Name>
  336. <ShortDescription />
  337. </EventText>
  338. </Event>
  339. <Event eventid="56" begintime="20171104180000" duration="010000" eventtype="11">
  340. <EventText language="chi">
  341. <Name>机智过人Ⅰ(6)</Name>
  342. <ShortDescription />
  343. </EventText>
  344. </Event>
  345. <Event eventid="57" begintime="20171104190000" duration="003000" eventtype="11">
  346. <EventText language="chi">
  347. <Name>新闻联播</Name>
  348. <ShortDescription />
  349. </EventText>
  350. </Event>
  351. <Event eventid="58" begintime="20171104193000" duration="000900" eventtype="11">
  352. <EventText language="chi">
  353. <Name>天气预报</Name>
  354. <ShortDescription />
  355. </EventText>
  356. </Event>
  357. <Event eventid="59" begintime="20171104193900" duration="002400" eventtype="11">
  358. <EventText language="chi">
  359. <Name>焦点访谈</Name>
  360. <ShortDescription />
  361. </EventText>
  362. </Event>
  363. <Event eventid="60" begintime="20171104200300" duration="015700" eventtype="11">
  364. <EventText language="chi">
  365. <Name>星光大道</Name>
  366. <ShortDescription />
  367. </EventText>
  368. </Event>
  369. <Event eventid="61" begintime="20171104220000" duration="003900" eventtype="11">
  370. <EventText language="chi">
  371. <Name>晚间新闻</Name>
  372. <ShortDescription />
  373. </EventText>
  374. </Event>
  375. <Event eventid="62" begintime="20171104223900" duration="010100" eventtype="11">
  376. <EventText language="chi">
  377. <Name>开讲啦</Name>
  378. <ShortDescription />
  379. </EventText>
  380. </Event>
  381. <Event eventid="63" begintime="20171104234000" duration="001900" eventtype="11">
  382. <EventText language="chi">
  383. <Name>星光大道</Name>
  384. <ShortDescription />
  385. </EventText>
  386. </Event>
  387. <Event eventid="64" begintime="20171104235900" duration="012400" eventtype="22">
  388. <EventText language="chi">
  389. <Name>结束</Name>
  390. <ShortDescription />
  391. </EventText>
  392. </Event>

修改后的xml(部分)

  1. <?xml version="1.0" encoding="GB2312" standalone="yes"?>
  2. <BroadcastData code="110000000" creationtime="20171103111425" version="2.0">
  3. <ProviderInfo id="ChinaEPG" name="David" />
  4. <SchedulerData>
  5. <Channel type="Normal">
  6. <ChannelText language="chi">
  7. <ChannelName>CCTV-1高清</ChannelName>
  8. </ChannelText>
  9. <Event eventid="03001" begintime="20171103004800" duration="004500" eventtype="00">
  10. <EventText language="chi">
  11. <Name>动物世界</Name>
  12. <ShortDescription />
  13. </EventText>
  14. </Event>
  15. <Event eventid="03002" begintime="20171103013300" duration="003000" eventtype="11">
  16. <EventText language="chi">
  17. <Name>晚间新闻</Name>
  18. <ShortDescription />
  19. </EventText>
  20. </Event>
  21. <Event eventid="03003" begintime="20171103020300" duration="004800" eventtype="11">
  22. <EventText language="chi">
  23. <Name>超级工程Ⅱ:中国路</Name>
  24. <ShortDescription />
  25. </EventText>
  26. </Event>
  27. <Event eventid="03004" begintime="20171103025100" duration="000900" eventtype="11">
  28. <EventText language="chi">
  29. <Name>精彩1刻:航拍中国-陕西</Name>
  30. <ShortDescription />
  31. </EventText>
  32. </Event>
  33. <Event eventid="03005" begintime="20171103030000" duration="012900" eventtype="11">
  34. <EventText language="chi">
  35. <Name>中国诗词大会Ⅱ:第一场</Name>
  36. <ShortDescription />
  37. </EventText>
  38. </Event>
  39. <Event eventid="03006" begintime="20171103042900" duration="002800" eventtype="11">
  40. <EventText language="chi">
  41. <Name>今日说法</Name>
  42. <ShortDescription />
  43. </EventText>
  44. </Event>
  45. <Event eventid="03007" begintime="20171103045700" duration="003000" eventtype="11">
  46. <EventText language="chi">
  47. <Name>新闻联播</Name>
  48. <ShortDescription />
  49. </EventText>
  50. </Event>
  51. <Event eventid="03008" begintime="20171103052700" duration="003200" eventtype="11">
  52. <EventText language="chi">
  53. <Name>人与自然</Name>
  54. <ShortDescription />
  55. </EventText>
  56. </Event>
  57. <Event begintime="20171103055900" eventtype="11" eventid="03009" duration="000100">
  58. <EventText language="chi">
  59. <Name>办中行ETC 免费送OBU设备</Name>
  60. </EventText>
  61. </Event>
  62. <Event eventid="03010" begintime="20171103060000" duration="023500" eventtype="11">
  63. <EventText language="chi">
  64. <Name>朝闻天下</Name>
  65. <ShortDescription />
  66. </EventText>
  67. </Event>
  68. <Event begintime="20171103083500" eventtype="11" eventid="03011" duration="000100">
  69. <EventText language="chi">
  70. <Name>办中行ETC 免费送OBU设备</Name>
  71. </EventText>
  72. </Event>
  73. <Event eventid="03012" begintime="20171103083600" duration="004600" eventtype="11">
  74. <EventText language="chi">
  75. <Name>生活圈</Name>
  76. <ShortDescription />
  77. </EventText>
  78. </Event>
  79. <Event begintime="20171103092200" eventtype="11" eventid="03013" duration="000100">
  80. <EventText language="chi">
  81. <Name>办中行ETC 免费送OBU设备</Name>
  82. </EventText>
  83. </Event>
  84. <Event eventid="03014" begintime="20171103092300" duration="005000" eventtype="11">
  85. <EventText language="chi">
  86. <Name>太行山上(14)</Name>
  87. <ShortDescription />
  88. </EventText>
  89. </Event>
  90. <Event begintime="20171103101300" eventtype="11" eventid="03015" duration="000100">
  91. <EventText language="chi">
  92. <Name>办中行ETC 免费送OBU设备</Name>
  93. </EventText>
  94. </Event>
  95. <Event eventid="03016" begintime="20171103101400" duration="004600" eventtype="11">
  96. <EventText language="chi">
  97. <Name>太行山上(15)</Name>
  98. <ShortDescription />
  99. </EventText>
  100. </Event>
  101. <Event begintime="20171103110000" eventtype="11" eventid="03017" duration="000100">
  102. <EventText language="chi">
  103. <Name>办中行ETC 免费送OBU设备</Name>
  104. </EventText>
  105. </Event>
  106. <Event eventid="03018" begintime="20171103110100" duration="005800" eventtype="11">
  107. <EventText language="chi">
  108. <Name>太行山上(16)</Name>
  109. <ShortDescription />
  110. </EventText>
  111. </Event>
  112. <Event begintime="20171103115900" eventtype="11" eventid="03019" duration="000100">
  113. <EventText language="chi">
  114. <Name>办中行ETC 免费送OBU设备</Name>
  115. </EventText>
  116. </Event>
  117. <Event eventid="03020" begintime="20171103120000" duration="003500" eventtype="11">
  118. <EventText language="chi">
  119. <Name>新闻30分</Name>
  120. <ShortDescription />
  121. </EventText>
  122. </Event>
  123. <Event begintime="20171103123500" eventtype="11" eventid="03021" duration="000100">
  124. <EventText language="chi">
  125. <Name>办中行ETC 免费送OBU设备</Name>
  126. </EventText>
  127. </Event>
  128. <Event eventid="03022" begintime="20171103123600" duration="004100" eventtype="11">
  129. <EventText language="chi">
  130. <Name>今日说法</Name>
  131. <ShortDescription />
  132. </EventText>
  133. </Event>
  134. <Event begintime="20171103131700" eventtype="11" eventid="03023" duration="000100">
  135. <EventText language="chi">
  136. <Name>办中行ETC 免费送OBU设备</Name>
  137. </EventText>
  138. </Event>
  139. <Event eventid="03024" begintime="20171103131800" duration="004700" eventtype="11">
  140. <EventText language="chi">
  141. <Name>鸡毛飞上天(15)</Name>
  142. <ShortDescription />
  143. </EventText>
  144. </Event>
  145. <Event begintime="20171103140500" eventtype="11" eventid="03025" duration="000100">
  146. <EventText language="chi">
  147. <Name>办中行ETC 免费送OBU设备</Name>
  148. </EventText>
  149. </Event>
  150. <Event eventid="03026" begintime="20171103140600" duration="005200" eventtype="11">
  151. <EventText language="chi">
  152. <Name>鸡毛飞上天(16)</Name>
  153. <ShortDescription />
  154. </EventText>
  155. </Event>
  156. <Event begintime="20171103145800" eventtype="11" eventid="03027" duration="000100">
  157. <EventText language="chi">
  158. <Name>办中行ETC 免费送OBU设备</Name>
  159. </EventText>
  160. </Event>
  161. <Event eventid="03028" begintime="20171103145900" duration="004900" eventtype="11">
  162. <EventText language="chi">
  163. <Name>鸡毛飞上天(17)</Name>
  164. <ShortDescription />
  165. </EventText>
  166. </Event>
  167. <Event begintime="20171103154800" eventtype="11" eventid="03029" duration="000100">
  168. <EventText language="chi">
  169. <Name>办中行ETC 免费送OBU设备</Name>
  170. </EventText>
  171. </Event>
  172. <Event eventid="03030" begintime="20171103154900" duration="005600" eventtype="11">
  173. <EventText language="chi">
  174. <Name>鸡毛飞上天(18)</Name>
  175. <ShortDescription />
  176. </EventText>
  177. </Event>
  178. <Event begintime="20171103164500" eventtype="11" eventid="03031" duration="000100">
  179. <EventText language="chi">
  180. <Name>办中行ETC 免费送OBU设备</Name>
  181. </EventText>
  182. </Event>
  183. <Event eventid="03032" begintime="20171103164600" duration="000500" eventtype="11">
  184. <EventText language="chi">
  185. <Name>中国梦歌曲:满城烟花</Name>
  186. <ShortDescription />
  187. </EventText>
  188. </Event>
  189. <Event begintime="20171103165100" eventtype="11" eventid="03033" duration="000100">
  190. <EventText language="chi">
  191. <Name>办中行ETC 免费送OBU设备</Name>
  192. </EventText>
  193. </Event>
  194. <Event eventid="03034" begintime="20171103165200" duration="000700" eventtype="11">
  195. <EventText language="chi">
  196. <Name>第一动画乐园</Name>
  197. <ShortDescription />
  198. </EventText>
  199. </Event>
  200. <Event begintime="20171103165900" eventtype="11" eventid="03035" duration="000100">
  201. <EventText language="chi">
  202. <Name>办中行ETC 免费送OBU设备</Name>
  203. </EventText>
  204. </Event>
  205. <Event eventid="03036" begintime="20171103170000" duration="005600" eventtype="11">
  206. <EventText language="chi">
  207. <Name>第一动画乐园</Name>
  208. <ShortDescription />
  209. </EventText>
  210. </Event>
  211. <Event begintime="20171103175600" eventtype="11" eventid="03037" duration="000100">
  212. <EventText language="chi">
  213. <Name>办中行ETC 免费送OBU设备</Name>
  214. </EventText>
  215. </Event>
  216. <Event eventid="03038" begintime="20171103175700" duration="002500" eventtype="11">
  217. <EventText language="chi">
  218. <Name>第一动画乐园</Name>
  219. <ShortDescription />
  220. </EventText>
  221. </Event>
  222. <Event begintime="20171103182200" eventtype="11" eventid="03039" duration="000100">
  223. <EventText language="chi">
  224. <Name>办中行ETC 免费送OBU设备</Name>
  225. </EventText>
  226. </Event>
  227. <Event eventid="03040" begintime="20171103182300" duration="000900" eventtype="11">
  228. <EventText language="chi">
  229. <Name>第一动画乐园:故事乐园</Name>
  230. <ShortDescription />
  231. </EventText>
  232. </Event>
  233. <Event begintime="20171103183200" eventtype="11" eventid="03041" duration="000100">
  234. <EventText language="chi">
  235. <Name>办中行ETC 免费送OBU设备</Name>
  236. </EventText>
  237. </Event>
  238. <Event eventid="03042" begintime="20171103183300" duration="002600" eventtype="11">
  239. <EventText language="chi">
  240. <Name>第一动画乐园</Name>
  241. <ShortDescription />
  242. </EventText>
  243. </Event>
  244. <Event begintime="20171103185900" eventtype="11" eventid="03043" duration="000100">
  245. <EventText language="chi">
  246. <Name>办中行ETC 免费送OBU设备</Name>
  247. </EventText>
  248. </Event>
  249. <Event eventid="03044" begintime="20171103190000" duration="002900" eventtype="11">
  250. <EventText language="chi">
  251. <Name>新闻联播</Name>
  252. <ShortDescription />
  253. </EventText>
  254. </Event>
  255. <Event begintime="20171103192900" eventtype="11" eventid="03045" duration="000100">
  256. <EventText language="chi">
  257. <Name>办中行ETC 免费送OBU设备</Name>
  258. </EventText>
  259. </Event>
  260. <Event eventid="03046" begintime="20171103193000" duration="000900" eventtype="11">
  261. <EventText language="chi">
  262. <Name>天气预报</Name>
  263. <ShortDescription />
  264. </EventText>
  265. </Event>
  266. <Event begintime="20171103193900" eventtype="11" eventid="03047" duration="000100">
  267. <EventText language="chi">
  268. <Name>办中行ETC 免费送OBU设备</Name>
  269. </EventText>
  270. </Event>
  271. <Event eventid="03048" begintime="20171103194000" duration="002100" eventtype="11">
  272. <EventText language="chi">
  273. <Name>焦点访谈</Name>
  274. <ShortDescription />
  275. </EventText>
  276. </Event>
  277. <Event begintime="20171103200100" eventtype="11" eventid="03049" duration="000100">
  278. <EventText language="chi">
  279. <Name>办中行ETC 免费送OBU设备</Name>
  280. </EventText>
  281. </Event>
  282. <Event eventid="03050" begintime="20171103200200" duration="000400" eventtype="11">
  283. <EventText language="chi">
  284. <Name>前情提要:青恋(24)</Name>
  285. <ShortDescription />
  286. </EventText>
  287. </Event>
  288. <Event begintime="20171103200600" eventtype="11" eventid="03051" duration="000100">
  289. <EventText language="chi">
  290. <Name>办中行ETC 免费送OBU设备</Name>
  291. </EventText>
  292. </Event>
  293. <Event eventid="03052" begintime="20171103200700" duration="005200" eventtype="11">
  294. <EventText language="chi">
  295. <Name>青恋(24)</Name>
  296. <ShortDescription />
  297. </EventText>
  298. </Event>
  299. <Event begintime="20171103205900" eventtype="11" eventid="03053" duration="000100">
  300. <EventText language="chi">
  301. <Name>办中行ETC 免费送OBU设备</Name>
  302. </EventText>
  303. </Event>
  304. <Event eventid="03054" begintime="20171103210000" duration="005900" eventtype="11">
  305. <EventText language="chi">
  306. <Name>机智过人Ⅰ(6)</Name>
  307. <ShortDescription />
  308. </EventText>
  309. </Event>
  310. <Event begintime="20171103215900" eventtype="11" eventid="03055" duration="000100">
  311. <EventText language="chi">
  312. <Name>办中行ETC 免费送OBU设备</Name>
  313. </EventText>
  314. </Event>
  315. <Event eventid="03056" begintime="20171103220000" duration="004100" eventtype="11">
  316. <EventText language="chi">
  317. <Name>晚间新闻</Name>
  318. <ShortDescription />
  319. </EventText>
  320. </Event>
  321. <Event begintime="20171103224100" eventtype="11" eventid="03057" duration="000100">
  322. <EventText language="chi">
  323. <Name>办中行ETC 免费送OBU设备</Name>
  324. </EventText>
  325. </Event>
  326. <Event eventid="03058" begintime="20171103224200" duration="005500" eventtype="11">
  327. <EventText language="chi">
  328. <Name>机智过人Ⅰ(6)</Name>
  329. <ShortDescription />
  330. </EventText>
  331. </Event>
  332. <Event begintime="20171103233700" eventtype="11" eventid="03059" duration="000100">
  333. <EventText language="chi">
  334. <Name>办中行ETC 免费送OBU设备</Name>
  335. </EventText>
  336. </Event>
  337. <Event eventid="03060" begintime="20171103233800" duration="002000" eventtype="11">
  338. <EventText language="chi">
  339. <Name>加油向未来(9)</Name>
  340. <ShortDescription />
  341. </EventText>
  342. </Event>
  343. <Event begintime="20171103235800" eventtype="11" eventid="03061" duration="000100">
  344. <EventText language="chi">
  345. <Name>办中行ETC 免费送OBU设备</Name>
  346. </EventText>
  347. </Event>
  348. <Event eventid="03062" begintime="20171103235900" duration="012600" eventtype="22">
  349. <EventText language="chi">
  350. <Name>结束</Name>
  351. <ShortDescription />
  352. </EventText>
  353. </Event>
  354. <Event eventid="04001" begintime="20171104012500" duration="000800" eventtype="00">
  355. <EventText language="chi">
  356. <Name>生活提示</Name>
  357. <ShortDescription />
  358. </EventText>
  359. </Event>
  360. <Event eventid="04002" begintime="20171104013300" duration="003200" eventtype="11">
  361. <EventText language="chi">
  362. <Name>晚间新闻</Name>
  363. <ShortDescription />
  364. </EventText>
  365. </Event>
  366. <Event eventid="04003" begintime="20171104020500" duration="004500" eventtype="11">
  367. <EventText language="chi">
  368. <Name>动物世界</Name>
  369. <ShortDescription />
  370. </EventText>
  371. </Event>
  372. <Event eventid="04004" begintime="20171104025000" duration="001000" eventtype="11">
  373. <EventText language="chi">
  374. <Name>精彩1刻:航拍中国-陕西</Name>
  375. <ShortDescription />
  376. </EventText>
  377. </Event>
  378. <Event eventid="04005" begintime="20171104030000" duration="012900" eventtype="11">
  379. <EventText language="chi">
  380. <Name>中国诗词大会Ⅱ:第二场</Name>
  381. <ShortDescription />
  382. </EventText>
  383. </Event>
  384. <Event eventid="04006" begintime="20171104042900" duration="002800" eventtype="11">
  385. <EventText language="chi">
  386. <Name>今日说法</Name>
  387. <ShortDescription />
  388. </EventText>
  389. </Event>
  390. <Event eventid="04007" begintime="20171104045700" duration="003000" eventtype="11">
  391. <EventText language="chi">
  392. <Name>新闻联播</Name>
  393. <ShortDescription />
  394. </EventText>
  395. </Event>
  396. <Event eventid="04008" begintime="20171104052700" duration="003200" eventtype="11">
  397. <EventText language="chi">
  398. <Name>人与自然</Name>
  399. <ShortDescription />
  400. </EventText>
  401. </Event>
  402. <Event begintime="20171104055900" eventtype="11" eventid="04009" duration="000100">
  403. <EventText language="chi">
  404. <Name>办中行ETC 免费送OBU设备</Name>
  405. </EventText>
  406. </Event>
  407. <Event eventid="04010" begintime="20171104060000" duration="023500" eventtype="11">
  408. <EventText language="chi">
  409. <Name>朝闻天下</Name>
  410. <ShortDescription />
  411. </EventText>
  412. </Event>
  413. <Event begintime="20171104083500" eventtype="11" eventid="04011" duration="000100">
  414. <EventText language="chi">
  415. <Name>办中行ETC 免费送OBU设备</Name>
  416. </EventText>
  417. </Event>
  418. <Event eventid="04012" begintime="20171104083600" duration="004700" eventtype="11">
  419. <EventText language="chi">
  420. <Name>太行山上(17)</Name>
  421. <ShortDescription />
  422. </EventText>
  423. </Event>
  424. <Event begintime="20171104092300" eventtype="11" eventid="04013" duration="000100">
  425. <EventText language="chi">
  426. <Name>办中行ETC 免费送OBU设备</Name>
  427. </EventText>
  428. </Event>
  429. <Event eventid="04014" begintime="20171104092400" duration="004800" eventtype="11">
  430. <EventText language="chi">
  431. <Name>太行山上(18)</Name>
  432. <ShortDescription />
  433. </EventText>
  434. </Event>
  435. <Event begintime="20171104101200" eventtype="11" eventid="04015" duration="000100">
  436. <EventText language="chi">
  437. <Name>办中行ETC 免费送OBU设备</Name>
  438. </EventText>
  439. </Event>
  440. <Event eventid="04016" begintime="20171104101300" duration="014600" eventtype="11">
  441. <EventText language="chi">
  442. <Name>加油向未来(9)</Name>
  443. <ShortDescription />
  444. </EventText>
  445. </Event>
  446. <Event begintime="20171104115900" eventtype="11" eventid="04017" duration="000100">
  447. <EventText language="chi">
  448. <Name>办中行ETC 免费送OBU设备</Name>
  449. </EventText>
  450. </Event>
  451. <Event eventid="04018" begintime="20171104120000" duration="003500" eventtype="11">
  452. <EventText language="chi">
  453. <Name>新闻30分</Name>
  454. <ShortDescription />
  455. </EventText>
  456. </Event>
  457. <Event begintime="20171104123500" eventtype="11" eventid="04019" duration="000100">
  458. <EventText language="chi">
  459. <Name>办中行ETC 免费送OBU设备</Name>
  460. </EventText>
  461. </Event>
  462. <Event eventid="04020" begintime="20171104123600" duration="003800" eventtype="11">
  463. <EventText language="chi">
  464. <Name>今日说法</Name>
  465. <ShortDescription />
  466. </EventText>
  467. </Event>
  468. <Event begintime="20171104131400" eventtype="11" eventid="04021" duration="000100">
  469. <EventText language="chi">
  470. <Name>办中行ETC 免费送OBU设备</Name>
  471. </EventText>
  472. </Event>
  473. <Event eventid="04022" begintime="20171104131500" duration="010100" eventtype="11">
  474. <EventText language="chi">
  475. <Name>寻宝-我有传家宝</Name>
  476. <ShortDescription />
  477. </EventText>
  478. </Event>
  479. <Event begintime="20171104141600" eventtype="11" eventid="04023" duration="000100">
  480. <EventText language="chi">
  481. <Name>办中行ETC 免费送OBU设备</Name>
  482. </EventText>
  483. </Event>
  484. <Event eventid="04024" begintime="20171104141700" duration="005000" eventtype="11">
  485. <EventText language="chi">
  486. <Name>鸡毛飞上天(19)</Name>
  487. <ShortDescription />
  488. </EventText>
  489. </Event>
  490. <Event begintime="20171104150700" eventtype="11" eventid="04025" duration="000100">
  491. <EventText language="chi">
  492. <Name>办中行ETC 免费送OBU设备</Name>
  493. </EventText>
  494. </Event>
  495. <Event eventid="04026" begintime="20171104150800" duration="004900" eventtype="11">
  496. <EventText language="chi">
  497. <Name>鸡毛飞上天(20)</Name>
  498. <ShortDescription />
  499. </EventText>
  500. </Event>
  501. <Event begintime="20171104155700" eventtype="11" eventid="04027" duration="000100">
  502. <EventText language="chi">
  503. <Name>办中行ETC 免费送OBU设备</Name>
  504. </EventText>
  505. </Event>
  506. <Event eventid="04028" begintime="20171104155800" duration="004800" eventtype="11">
  507. <EventText language="chi">
  508. <Name>鸡毛飞上天(21)</Name>
  509. <ShortDescription />
  510. </EventText>
  511. </Event>
  512. <Event begintime="20171104164600" eventtype="11" eventid="04029" duration="000100">
  513. <EventText language="chi">
  514. <Name>办中行ETC 免费送OBU设备</Name>
  515. </EventText>
  516. </Event>
  517. <Event eventid="04030" begintime="20171104164700" duration="005600" eventtype="11">
  518. <EventText language="chi">
  519. <Name>鸡毛飞上天(22)</Name>
  520. <ShortDescription />
  521. </EventText>
  522. </Event>
  523. <Event begintime="20171104174300" eventtype="11" eventid="04031" duration="000100">
  524. <EventText language="chi">
  525. <Name>办中行ETC 免费送OBU设备</Name>
  526. </EventText>
  527. </Event>
  528. <Event eventid="04032" begintime="20171104174400" duration="001500" eventtype="11">
  529. <EventText language="chi">
  530. <Name>中国梦歌曲:大地芬芳</Name>
  531. <ShortDescription />
  532. </EventText>
  533. </Event>
  534. <Event begintime="20171104175900" eventtype="11" eventid="04033" duration="000100">
  535. <EventText language="chi">
  536. <Name>办中行ETC 免费送OBU设备</Name>
  537. </EventText>
  538. </Event>
  539. <Event eventid="04034" begintime="20171104180000" duration="005900" eventtype="11">
  540. <EventText language="chi">
  541. <Name>机智过人Ⅰ(6)</Name>
  542. <ShortDescription />
  543. </EventText>
  544. </Event>
  545. <Event begintime="20171104185900" eventtype="11" eventid="04035" duration="000100">
  546. <EventText language="chi">
  547. <Name>办中行ETC 免费送OBU设备</Name>
  548. </EventText>
  549. </Event>
  550. <Event eventid="04036" begintime="20171104190000" duration="002900" eventtype="11">
  551. <EventText language="chi">
  552. <Name>新闻联播</Name>
  553. <ShortDescription />
  554. </EventText>
  555. </Event>
  556. <Event begintime="20171104192900" eventtype="11" eventid="04037" duration="000100">
  557. <EventText language="chi">
  558. <Name>办中行ETC 免费送OBU设备</Name>
  559. </EventText>
  560. </Event>
  561. <Event eventid="04038" begintime="20171104193000" duration="000800" eventtype="11">
  562. <EventText language="chi">
  563. <Name>天气预报</Name>
  564. <ShortDescription />
  565. </EventText>
  566. </Event>
  567. <Event begintime="20171104193800" eventtype="11" eventid="04039" duration="000100">
  568. <EventText language="chi">
  569. <Name>办中行ETC 免费送OBU设备</Name>
  570. </EventText>
  571. </Event>
  572. <Event eventid="04040" begintime="20171104193900" duration="002300" eventtype="11">
  573. <EventText language="chi">
  574. <Name>焦点访谈</Name>
  575. <ShortDescription />
  576. </EventText>
  577. </Event>
  578. <Event begintime="20171104200200" eventtype="11" eventid="04041" duration="000100">
  579. <EventText language="chi">
  580. <Name>办中行ETC 免费送OBU设备</Name>
  581. </EventText>
  582. </Event>
  583. <Event eventid="04042" begintime="20171104200300" duration="015600" eventtype="11">
  584. <EventText language="chi">
  585. <Name>星光大道</Name>
  586. <ShortDescription />
  587. </EventText>
  588. </Event>
  589. <Event begintime="20171104215900" eventtype="11" eventid="04043" duration="000100">
  590. <EventText language="chi">
  591. <Name>办中行ETC 免费送OBU设备</Name>
  592. </EventText>
  593. </Event>
  594. <Event eventid="04044" begintime="20171104220000" duration="003800" eventtype="11">
  595. <EventText language="chi">
  596. <Name>晚间新闻</Name>
  597. <ShortDescription />
  598. </EventText>
  599. </Event>
  600. <Event begintime="20171104223800" eventtype="11" eventid="04045" duration="000100">
  601. <EventText language="chi">
  602. <Name>办中行ETC 免费送OBU设备</Name>
  603. </EventText>
  604. </Event>
  605. <Event eventid="04046" begintime="20171104223900" duration="010000" eventtype="11">
  606. <EventText language="chi">
  607. <Name>开讲啦</Name>
  608. <ShortDescription />
  609. </EventText>
  610. </Event>
  611. <Event begintime="20171104233900" eventtype="11" eventid="04047" duration="000100">
  612. <EventText language="chi">
  613. <Name>办中行ETC 免费送OBU设备</Name>
  614. </EventText>
  615. </Event>
  616. <Event eventid="04048" begintime="20171104234000" duration="001800" eventtype="11">
  617. <EventText language="chi">
  618. <Name>星光大道</Name>
  619. <ShortDescription />
  620. </EventText>
  621. </Event>
  622. <Event begintime="20171104235800" eventtype="11" eventid="04049" duration="000100">
  623. <EventText language="chi">
  624. <Name>办中行ETC 免费送OBU设备</Name>
  625. </EventText>
  626. </Event>
  627. <Event eventid="04050" begintime="20171104235900" duration="012400" eventtype="22">
  628. <EventText language="chi">
  629. <Name>结束</Name>
  630. <ShortDescription />
  631. </EventText>
  632. </Event>

说明:  1.修改后的xml间隔插入了广告,如从每天的6点开始接下来每天6点都要插入广告

2.eventid,begintime,duration进行了变化如eventid = 1 ----------> 03001

3.原xml的eventid每一天是相连的,即第一天结束eventid是35,第二天开始的eventid是36但是

修改后的eventid是每天从1开始

4.广告的持续时间是确定的


个人思路:插入广告后再进行属性的调整

知识点1:间隔插入节点

插入节点之前需要准备好用到的adEvent(广告节点)我已经提前创建,已经插入广告的时间点(timeIndex),后面会给出对应的方法

最初的想法是遍历节点的集合进行i+=2的操作,突然发现这种想法的致命缺陷在于间隔插入要求i+=2和遍历要求的i++互相冲突,于是开始思考采用分组的方式来避免

仔细观察了下xml文档,发现可以用每天的结束标签进行分组,于是先获得结束标签的索引,然后遍历每个组进行插入,有人可能问了,这样不还是冲突.实际上这个时候的遍历和间隔插入已经不再使用同一个参数i了所以不再有冲突

注意:1.使用了java集合的sublist(...)方法进行集合的截取操作

2.要使用Element对象的clone方法,否则会报 The Content already has an existing parent xxx的异常

     //获得结束标签的索引
List<Integer> endIndex = new ArrayList<Integer>();
for(int i=1; i<events.size(); i++){
if("22".equals(events.get(i).attributeValue("eventtype"))) {
endIndex.add(i);
}
}
System.out.println();
//分组处理 跳过第一个channelText
List<Element> list = new ArrayList<Element>();
int count = 0;
if(timeIndex <=endIndex.get(0)) {
for(int i=0;i<endIndex.size(); i++) {
if(i == 0) {
list = events.subList(1,endIndex.get(i)+1);
//插入广告
for(int j=timeIndex; j<list.size();j+=2) {
list.add(j,(Element)adEvent.clone());
count++;//计算插入了多少个广告
}
}else {
list = events.subList(endIndex.get(i-1)+1+count,endIndex.get(i)+1+count);
for(int j=timeIndex; j<list.size();j+=2) {
list.add(j,(Element)adEvent.clone());
count++;
}
}
}
}else {
//为了应对插入的节点不从第一天开始
for(int i=0;i<endIndex.size()-1; i++) {
int temp1 = timeIndex - endIndex.get(i);
int temp2 = timeIndex - endIndex.get(i+1);
if(temp1 >0 && temp2 <0) {
/*System.out.println("temp1----|" + temp1);
System.out.println("temp2-----|" + temp2);*/
for(int j=i+1;j<endIndex.size();j++) {
list = events.subList(endIndex.get(j-1)+1+count,endIndex.get(j)+1+count);
for(int m= temp1; m<list.size()-1;m+=2) {
list.add(m,(Element)adEvent.clone());
count++;
}
}
}
} }

以下的方法涉及的参数Map<String,String> propertiesMap是封装了的配置文件的信息

获得timeIndex的方法

 /**
*
* @param beginTime -- 广告的开始时间点
* @return 该时间点的索引
*/
public static int getTimeIndex(Document document,String beginTime) {
List<Element> events = document.getRootElement()
.element("SchedulerData")
.element("Channel").elements();
System.out.println("===" + beginTime);
Long long_beginTime1 = Long.parseLong(beginTime);
for(int i=1;i<events.size()-1; i++) {
if(beginTime.equals(events.get(i).attributeValue("begintime"))) {
return i;
}else {
Long long_beginTime2 = Long.parseLong(events.get(i).attributeValue("begintime"));
Long long_beginTime3 = Long.parseLong(events.get(i+1).attributeValue("begintime"));
Long duration = Long.parseLong(events.get(i).attributeValue("duration"));
Long temp1 = long_beginTime1 - long_beginTime2;
Long temp2 = long_beginTime1 - long_beginTime3;
if(temp1 > 0 && temp2 <0){
return i;
}
}
}
return 0;
}

使用timeIndex时要特别注意,一旦timeIndex为0说明节目的日期变了,此时要校对广告的开始时间

 if(timeIndex == 0) {
String begin = events.get(1).attributeValue("begintime");
beginTime = beginTime.replace(beginTime.substring(0,8),begin.substring(0,8));
timeIndex = getTimeIndex(document, beginTime);
}

创建adEvent的方法,调用的时候是从数据库读取广告信息进行创建

 public static Element createAdElement(Ad ad,String time,Map<String,String> propertiesMap) {
if(ad == null) {
System.out.println("广告对象为空!");
return null;
}
Element adElement = DocumentHelper.createElement("Event");
//beginTime
if(ad.getBeginDate() != null && time != null) {
String beginTime = ad.getBeginTime().toString();
beginTime = beginTime.replace(":","");
beginTime = beginTime.substring(0,4);
beginTime = time.substring(0,8) + beginTime + "00";// --->20171103083500
adElement.addAttribute("begintime",beginTime);
}
//duration
String duration = ad.getDuration();
if(duration != null) {
adElement.addAttribute("duration",duration);
}
//eventtype
String adEventType = propertiesMap.get("adEventType");
if(adEventType != null) {
adElement.addAttribute("eventtype",adEventType);
} //eventid
String eventId = "";
adElement.addAttribute("eventid",eventId); //language
String adLanguage ="chi";
Element eventText = adElement.addElement("EventText").addAttribute("language",adLanguage); //name节点
if(eventText != null) {
Element name = eventText.addElement("name");
if(ad.getContent() != null) {
name.setText(ad.getContent());
}
}
return adElement;
}

知识点2 更新受到广告影响的节目的开始时间(begintime)以及持续时间(duration)

说明:此方法较为简单,只需判断下一个节点是不是广告从而进行相应的调整即可

 /**
* 修改广告的begintime信息与受到广告影响的节目duration
* @param events
*/
private void updateAdtime(List<Element> events,String adDuration) {
for(int i=2;i<events.size();i++) {
Attribute duration = events.get(i).attribute("duration");
if(adDuration != null) {
if(duration.getText().equals(adDuration)) {
String lastNodeBegin = events.get(i-1).attributeValue("begintime");
String lastNodeDuration = events.get(i-1).attributeValue("duration");
if(lastNodeBegin == null || lastNodeDuration == null) {
System.out.println("上个节点不存在");
return;
}
//修改节目的持续时间
Long temp = Long.parseLong(lastNodeDuration);
temp = temp - Long.parseLong(duration.getText());
events.get(i-1).attribute("duration").setText(temp.toString()); //修改后重新获取
lastNodeBegin = events.get(i-1).attributeValue("begintime");
lastNodeDuration = events.get(i-1).attributeValue("duration"); //设置广告的开始时间
Long adBeginTime = Long.parseLong(lastNodeBegin) + Long.parseLong(lastNodeDuration);
String strAdBegin = adBeginTime.toString();
Long min = Long.parseLong(strAdBegin.substring(strAdBegin.length()-4));
if( min >= 6000) {
adBeginTime = adBeginTime + 10000 -6000;
}
strAdBegin = adBeginTime.toString();
events.get(i).attribute("begintime").setText(strAdBegin);
}
}
} }

知识点3 更新eventid,以1103为例1---->03001,  10------>03010

注意:id和begintime的dd相关,注意判断原id的长度

/**
* 修改id
* 1-->03001 10--->03010
*/
private void updateId(List<Element> events) {
if(events.size() == 0) {
return;
}
List<List<Element>> groups = new ArrayList<List<Element>>();
for(int i=1; i<events.size(); i++){
Attribute oldId = events.get(i).attribute("eventid");
String time = events.get(i).attributeValue("begintime");
String sb = "";
if(time != null){
sb = time.substring(6,8); // 截取dd
}
if(i<10) {
sb += "00" + i;
}else if(i<100) {
sb += "0" + i;
}
if(oldId != null){
oldId.setText(sb);
}
if("22".equals(events.get(i).attributeValue("eventtype"))) {
if(events.size()> (i+1)) {
List<Element> list = events.subList(i+1,events.size());
groups.add(list);
}
}
}
for(int i=0; i<groups.size(); i++) {
List<Element> subList = groups.get(i);
for(int j=0; j<subList.size(); j++) {
Attribute oldId = subList.get(j).attribute("eventid");
String time = subList.get(j).attributeValue("begintime");
String sb = "";
if(time != null){
sb = time.substring(6,8); // 截取dd
}
if(j<10) {
sb += "00" + (j+1);
}else if(j<100) {
sb += "0" + (j+1);
}
if(oldId != null){
oldId.setText(sb);
}
}
}
}

知识点4 生成修改后的xml

 /**
* 将修改后的xml文档重新生成
* @param document
* @param path
* @param encode
*/
public void write(Document document,String path,Map<String,String> propertiesMap) {
String channelEncoding = propertiesMap.get("channelEncoding");
if(channelEncoding != null) {
format.setEncoding(channelEncoding);
}
format.setNewLineAfterDeclaration(false);
File file;
try {
file = new File(path);
if(file.getParentFile().exists()) {
file.createNewFile();
}else {
file.getParentFile().mkdirs();
file.createNewFile();
}
XMLWriter write = new XMLWriter(new FileOutputStream(file,false),format);
write.write(document);
write.close();
} catch (IOException e) {
e.printStackTrace();
}
}

dom4j 间隔插入节点 处理复杂的xml文档的更多相关文章

  1. Java获取XML节点总结之读取XML文档节点

    dom4j是Java的XML API,用来读写XML文件的.目前有很多场景中使用dom4j来读写xml的.要使用dom4j开发,需要下载导入dom4j相应的jar文件.官网下载:http://www. ...

  2. 文档对象模型操作xml文档

    简介 :文档对象模型(DOM)是一种用于处理xml文档的API函数集. 2.1文档对象模型概述 按照W3C的定义,DOM是“一种允许程序或脚本动态地访问更新文档内容,结构和样式的.独立于平台和语言的规 ...

  3. XML文档操作集锦(C#篇)

    在JSON没流行起来的时候xml一直作为程序存储配置信息的主流介质:特别是小型数据表方面还是不错的选择,所以经常涉及到的操作无非也就是增删改查,这篇博客主要是对这些对比较常用的操作做了个简单的总结 文 ...

  4. C# 使用XmlDocument类对XML文档进行操作

    原创地址:http://www.cnblogs.com/jfzhu/archive/2012/11/19/2778098.html 转载请注明出处 W3C制定了XML DOM标准.很多编程语言中多提供 ...

  5. Java高级特性 第13节 解析XML文档(1) - DOM和XPath技术

    一.使用DOM解析XML文档 DOM的全称是Document Object Model,也即文档对象模型.在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树 ...

  6. DOM4J解析XML文档

    Tip:DOM4J解析XML文档 Dom4j是一个简单.灵活的开放源代码的库.Dom4j是由早期开发JDOM的人分离出来而后独立开发的.与JDOM不同的是,dom4j使用接口和抽象基类,虽然Dom4j ...

  7. 解析txt文本,dom4j工具输出为xml文档

    有如下一个ttl.txt文本文档,每一行用空格隔开的三段分别代表主谓宾, 要将它们输出为xml格式文档 工具:dom4j,jar包导入MyEclipse的Java Project工程 代码如下: pa ...

  8. 使用dom4j解析XML文档

    dom4j的包开源包,不属于JDK里面,在myeclipse中要单独导入在项目中,这里不累赘了 做这个过程,很慢,因为很多方法没用过不熟悉,自己得去查帮助文档,而且还得去试,因为没有中文版,英文翻译不 ...

  9. 【JAVA与DOM4J实现对XML文档的CRUD操作】

    一.简介 1.网上下载DOM4J 1.6.1压缩包,解压开之后,发现几个目录和一个jar文件,jar文件是必须的文件其它目录: docs目录:帮助文档的目录,单击index.html: Quick s ...

随机推荐

  1. 二分PkU3258

    <span style="color:#330099;">/* E - 二分 Time Limit:2000MS Memory Limit:65536KB 64bit ...

  2. java中的集合操作类(未完待续)

    申明: 实习生的肤浅理解,如发现有错误之处.还望大牛们多多指点 废话 事实上我写java的后台操作,我每次都会遇到一条语句:List<XXXXX> list = new ArrayList ...

  3. java多线程编程核心技术——第五章总结

    定时器Timer的使用 1.1方法schedule(TimerTask task, Date time)的测试 1.2方法schedule(TimerTask task, Date firstTime ...

  4. 【JAVA零基础入门系列】Day1 开发环境搭建

    [JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day ...

  5. 自学Zabbix3.5.6-监控项item-Value mapping值映射

    zabbix为了显示更人性化的数据,在使用过程中,我们可以将获取到得数据映射为一个字符串.比如,我们写脚本监控MySQL是否在运行中, 一般返回0表示数据库挂了,1表示数据库正常,还有各种各样的监控都 ...

  6. Python的下划线_

    1.单下划线(_) 通常情况下,单下划线(_)会在以下3种场景中使用: 1.1 在解释器中: 在这种情况下,"_"代表交互式解释器会话中上一条执行的语句的结果.这种用法首先被标准C ...

  7. 微信小程序教学第二章(含视频):小程序中级实战教程之预备篇 - 封装网络请求及 mock 数据

    § 封装网络请求及 mock 数据 本文配套视频地址: https://v.qq.com/x/page/i05544fogcm.html 开始前请把 ch2-3 分支中的 code/ 目录导入微信开发 ...

  8. Python3.5:爬取网站上电影数据

    首先我们导入几个pyhton3的库: from urllib import requestimport urllibfrom html.parser import HTMLParser 在Python ...

  9. Find all factorial numbers less than or equal to N

    A number N is called a factorial number if it is the factorial of a positive integer. For example, t ...

  10. js代码细嚼慢咽

    全局变量的梗 例1: 对于var 的理解:将该变量声明在当前的作用域中,或者说执行上下文中. function add() { result = 3; //result变量即是隐喻全局变量 } add ...