[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 【已解决】批处理怎样从XML文件中提取2个关键词到CSV中?

本帖最后由 zhengwei007 于 2024-3-18 11:51 编辑

大概有几十个XML文件,希望从内容中的NPC中取一个ID,从AI TYPE中取一个aggro字段。仅提取这两个。代码如下:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <list>
  3. <npc id="13001" name="Heart of Warding" title="">
  4. <set name="level" val="70"/>
  5. <set name="radius" val="17"/>
  6. <set name="height" val="75"/>
  7. <set name="rHand" val="0"/>
  8. <set name="lHand" val="0"/>
  9. <set name="type" val="Folk"/>
  10. <set name="exp" val="490"/>
  11. <set name="sp" val="10"/>
  12. <set name="hp" val="2444.46819"/>
  13. <set name="mp" val="1345.8"/>
  14. <set name="hpRegen" val="7.5"/>
  15. <set name="mpRegen" val="2.7"/>
  16. <set name="pAtk" val="688.86373"/>
  17. <set name="pDef" val="295.91597"/>
  18. <set name="mAtk" val="470.40463"/>
  19. <set name="mDef" val="216.53847"/>
  20. <set name="crit" val="4"/>
  21. <set name="atkSpd" val="253"/>
  22. <set name="str" val="40"/>
  23. <set name="int" val="21"/>
  24. <set name="dex" val="30"/>
  25. <set name="wit" val="20"/>
  26. <set name="con" val="43"/>
  27. <set name="men" val="10"/>
  28. <set name="corpseTime" val="7"/>
  29. <set name="walkSpd" val="50"/>
  30. <set name="runSpd" val="120"/>
  31. <set name="dropHerbGroup" val="0"/>
  32. <ai type="DEFAULT" ssCount="0" ssRate="0" spsCount="0" spsRate="0" aggro="0" canMove="true" seedable="false"/>
  33. <skills>
  34. <skill id="4045" level="1"/>
  35. <skill id="4416" level="19"/>
  36. </skills>
  37. </npc>
  38. <npc id="27001" name="Orc Sniper" title="">
  39. <set name="level" val="10"/>
  40. <set name="radius" val="14"/>
  41. <set name="height" val="25"/>
  42. <set name="rHand" val="14"/>
  43. <set name="lHand" val="0"/>
  44. <set name="type" val="Monster"/>
  45. <set name="exp" val="0"/>
  46. <set name="sp" val="0"/>
  47. <set name="hp" val="163.28607"/>
  48. <set name="mp" val="108.4"/>
  49. <set name="hpRegen" val="2"/>
  50. <set name="mpRegen" val="0.9"/>
  51. <set name="pAtk" val="19.33758"/>
  52. <set name="pDef" val="61.82527"/>
  53. <set name="mAtk" val="13.20506"/>
  54. <set name="mDef" val="45.24105"/>
  55. <set name="crit" val="8"/>
  56. <set name="atkSpd" val="253"/>
  57. <set name="str" val="40"/>
  58. <set name="int" val="21"/>
  59. <set name="dex" val="30"/>
  60. <set name="wit" val="20"/>
  61. <set name="con" val="43"/>
  62. <set name="men" val="10"/>
  63. <set name="corpseTime" val="7"/>
  64. <set name="walkSpd" val="45"/>
  65. <set name="runSpd" val="110"/>
  66. <set name="dropHerbGroup" val="0"/>
  67. <ai type="ARCHER" ssCount="0" ssRate="0" spsCount="0" spsRate="0" aggro="0" canMove="true" seedable="false"/>
  68. <skills>
  69. <skill id="4416" level="6"/>
  70. </skills>
  71. </npc>
  72. <npc id="27002" name="Orc Fighter" title="">
  73. <set name="level" val="12"/>
  74. <set name="radius" val="12"/>
  75. <set name="height" val="22"/>
  76. <set name="rHand" val="1"/>
  77. <set name="lHand" val="0"/>
  78. <set name="type" val="Monster"/>
  79. <set name="exp" val="0"/>
  80. <set name="sp" val="0"/>
  81. <set name="hp" val="199.62322"/>
  82. <set name="mp" val="124.48"/>
  83. <set name="hpRegen" val="2.5"/>
  84. <set name="mpRegen" val="1.2"/>
  85. <set name="pAtk" val="22.99606"/>
  86. <set name="pDef" val="66.32989"/>
  87. <set name="mAtk" val="15.70333"/>
  88. <set name="mDef" val="48.53733"/>
  89. <set name="crit" val="4"/>
  90. <set name="atkSpd" val="253"/>
  91. <set name="str" val="40"/>
  92. <set name="int" val="21"/>
  93. <set name="dex" val="30"/>
  94. <set name="wit" val="20"/>
  95. <set name="con" val="43"/>
  96. <set name="men" val="10"/>
  97. <set name="corpseTime" val="7"/>
  98. <set name="walkSpd" val="45"/>
  99. <set name="runSpd" val="110"/>
  100. <set name="dropHerbGroup" val="0"/>
  101. <ai type="DEFAULT" ssCount="0" ssRate="0" spsCount="0" spsRate="0" aggro="100" canMove="true" seedable="false"/>
  102. <skills>
  103. <skill id="4416" level="6"/>
  104. </skills>
  105. </npc>
  106. <npc id="13036" name="Alchemist's Chest" title="">
  107. <set name="level" val="21"/>
  108. <set name="radius" val="8.5"/>
  109. <set name="height" val="8.5"/>
  110. <set name="rHand" val="0"/>
  111. <set name="lHand" val="0"/>
  112. <set name="type" val="Folk"/>
  113. <set name="exp" val="0"/>
  114. <set name="sp" val="0"/>
  115. <set name="hp" val="2880.37628"/>
  116. <set name="mp" val="1674.8"/>
  117. <set name="hpRegen" val="8.5"/>
  118. <set name="mpRegen" val="3"/>
  119. <set name="pAtk" val="894.75854"/>
  120. <set name="pDef" val="341.375"/>
  121. <set name="mAtk" val="611.00409"/>
  122. <set name="mDef" val="249.80341"/>
  123. <set name="crit" val="4"/>
  124. <set name="atkSpd" val="253"/>
  125. <set name="str" val="40"/>
  126. <set name="int" val="21"/>
  127. <set name="dex" val="30"/>
  128. <set name="wit" val="20"/>
  129. <set name="con" val="43"/>
  130. <set name="men" val="10"/>
  131. <set name="corpseTime" val="7"/>
  132. <set name="walkSpd" val="80"/>
  133. <set name="runSpd" val="1"/>
  134. <set name="dropHerbGroup" val="0"/>
  135. <ai type="DEFAULT" ssCount="0" ssRate="0" spsCount="0" spsRate="0" aggro="500" canMove="true" seedable="false"/>
  136. <skills>
  137. <skill id="4045" level="1"/>
  138. <skill id="4416" level="2"/>
  139. </skills>
  140. </npc>
  141. </list>
复制代码
看着内容挺多,但我只要两个字段,最终结果如下:
  1. NPCID aggro
  2. 13001 0
  3. 27001 0
  4. 27002 100
  5. 13036 500
复制代码
将结果输出到sour.csv中即可,谢谢

返回列表