批处理 判断xml节点信息,并写入.txt

现在需要用批处理遍历一批xml,然后判断<classifications-ipcr>节点下的<text>是否包含A01K,如图

然后还需要判断整个xml里面是否有(oncology or cancer)这2个关键字,如果找到这个的xml,需要将xml的目录写到txt里,哎。。。批处理实在不熟,往前辈们指点一二啊。

需求不明确
判断存在A01K的XML
findstr "A01K" *.xml

判断同时存在oncology cancer的XML
findstr "oncology.*cancer cancer.*oncology" *.xml追问

findstr里需要的判断是 (text>A61P 或者A61K) 并且 (oncology 或者 cancer)这种样子的
我写了一个这样的
@echo off
for /f "tokens=* delims=" %%a in ('dir /s /b *.xml') do (type "%%a"|findstr "A61P A61K oncology cancer"&&echo %%a>>ok.txt)
pause
但是findstr里判断的条件都是or中间需要有个and的判断,不知道该咋写,哎。。。

追答

用两个findstr就可以了
可以直接搜索子目录
不需要用for以及type
findstr /s /m "A61P A61K" *.xml > list.tmp
findstr /m /f:list.tmp "oncology cancer" >ok.txt

温馨提示:内容为网友见解,仅供参考
无其他回答

批处理 判断xml节点信息,并写入.txt
判断存在A01K的XML findstr "A01K" *.xml 判断同时存在oncology cancer的XML findstr "oncology.*cancer cancer.*oncology" *.xml

...简单的介绍以及通过springbatch将xml文件转成txt文件
配置示例展示了三个步骤,包括文件读取、处理及写入操作。步骤间可以链接,提供Job和Step级别监听器,实现执行前后的业务逻辑。示例中,通过创建XML人员信息文件、PersonInfo bean、实现ItemProcessor、添加JobListener并配置job,实现XML文件到TXT文件的转换。控制台输出展示了监听器执行情况,验证了转换过程。综...

bat批处理修改文本文档指定行的内容?
代码使用了两个循环:第一个for循环用于遍历目标目录下所有的.tog文件;第二个for循环用于遍历每个文件的所有行,并在需要修改的行进行相应的操作。通过变量count计数,如果当前行是需要修改的行,则输出新的内容到一个临时文件temp.txt中;否则直接将当前行原样输出。最后将临时文件重命名为原文件名,完成...

相似回答
大家正在搜