You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用XPath批量修改7 Days To Die XML指定弹药的Stacknumber?

针对《7 Days To Die》Mod的XML批量修改方案

精确匹配单个Group属性值

如果目标物品的Group属性为单个独立值(如Ammo、Ammo/Weapons或Ranged Weapons),使用以下XPath即可精准筛选并修改堆叠数:

<set xpath="/items/item[starts-with(@name, 'ammo') and not(contains(@name, 'Bundle')) and (@Group='Ammo' or @Group='Ammo/Weapons' or @Group='Ranged Weapons')]/property[@name='Stacknumber']/@value">500</set>

各条件作用:

  • starts-with(@name, 'ammo'):锁定所有名称以ammo开头的物品
  • not(contains(@name, 'Bundle')):排除名称含Bundle的物品(保留你已实现的排除逻辑)
  • @Group='XXX' or @Group='YYY':仅保留Group属性完全匹配指定值的物品

处理逗号分隔的多值Group属性

若部分物品的Group属性是多个值用逗号分隔(如Ammo, Ranged Weapons),为避免误匹配类似AmmoExtended这类无关项,采用更严谨的写法:

<set xpath="/items/item[starts-with(@name, 'ammo') and not(contains(@name, 'Bundle')) and (contains(concat(',', normalize-space(@Group), ','), ',Ammo,') or contains(concat(',', normalize-space(@Group), ','), ',Ammo/Weapons,') or contains(concat(',', normalize-space(@Group), ','), ',Ranged Weapons,'))]/property[@name='Stacknumber']/@value">500</set>

关键逻辑说明:

  • normalize-space(@Group):去除Group值中的多余空格,兼容Ammo , Ranged Weapons这类不规范格式
  • concat(',', ..., ','):在处理后的Group值前后添加逗号,确保匹配的是完整的分组名称(比如只会识别独立的Ammo,而非包含Ammo子串的其他值)

内容的提问来源于stack exchange,提问作者Stultusaur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 21:40:39