我的XML如下:
<Game>
<ID>8585></ID>
<ApplicationPath>F:Gamesgamename.zip</ApplicationPath>
<DateAdded>2021-03-20T18:03:57.1370703-04:00</DateAdded>
<DateModified>2021-04-16T22:00:45.3921555-04:00</DateModified>
<Category>Platformer</Category>
<Developer />
<Notes />
</Game>
<Game>
<ID>8855></ID>
<ApplicationPath>F:Gameshatgamename.zip</ApplicationPath>
<DateAdded>2021-03-20T18:03:57.1370703-04:00</DateAdded>
<DateModified>2021-04-16T22:00:45.3921555-04:00</DateModified>
<Category>Platformer</Category>
<Developer />
<Notes />
</Game>
我正在寻找一种非常容易和简单的方法来解析这个XML,它包含数千行,这样我就可以通过它搜索找到每个游戏实例,其中ApplicationPath包含"hat"并将该游戏的相关Category替换为"puzzle"
如果这可以在notepad++中完成,如何?如果没有,我愿意接受任何建议。
谢谢
With Saxon's Gizmo:
java net.sf.saxon.Gizmo -s:input.xml
/>update //Game[contains(ApplicationPath, 'hat')]/Category with "puzzle"
/>save output.xml
/>quit
与xmlstarlet
:
xmlstarlet edit -u '//Game[contains(ApplicationPath, "hat")]/Category'
-v puzzle file.xml
不确定引号是否与Linux相同。如果出现错误,将引号颠倒:
- 单引号->双引号
- 双引号->单引号
添加-L
以动态编辑文件