我的xml文件名为Test.xml。我想在xml标记<con:selectedAuthProfile>value</con:selectedAuthProfile>
中将xml标记<con:testStep>
的内容从值替换为“Pharmacy-Authorization”,id =“123456789”。我希望我能为此找到代码。谢谢你们提前!我将在下面解释这个过程。
<con:testStep type=a id=>
在该标记内,我需要替换xml标记<con:selectedAuthProfile>*</con:selectedAuthProfile>
以下是代码:
<con:testStep type="a" name="TestStep 1" id="123456789">
<xml1>XMLVALUE1</xml1>
<xml2>XMLVALUE2</xml2>
<con:selectedAuthProfile>value</con:selectedAuthProfile>
</con:testStep>
<con:testStep type="b" name="TestStep 2" id="987654321">
<xml3>XMLVALUE3</xml3>
<xml4>XMLVALUE4</xml4>
<con:selectedAuthProfile>value</con:selectedAuthProfile>
</con:testStep>
正如您在XML中看到的那样,标签<con:selectedAuthProfile>value</con:selectedAuthProfile>
有两个实例/出现。我只想根据其PARENT TAG更改此标记的内容,该标记为<con:testStep>
且id =“123456789”。我希望有可能
答案 0 :(得分:2)
这是更改文件中任何特定单词的示例。
您必须运行两个.bat脚本。
将脚本命名为Script1.bat
和Script2.bat
。
Script1
@ECHO OFF
Script2.bat "Orange" "Apple" "file.txt" >"newfile.txt"
Script2
@ECHO OFF
SETLOCAL ENABLEEXTENSIONS
SETLOCAL DISABLEDELAYEDEXPANSION
if "%~1"=="" findstr "^::" "%~f0"&GOTO:EOF
for /f "tokens=1,* delims=]" %%A in ('"type %3|find /n /v """') do (
set "line=%%B"
if defined line (
call set "line=echo.%%line:%~1=%~2%%"
for /f "delims=" %%X in ('"echo."%%line%%""') do %%~X
) ELSE echo.
)
将这两个脚本复制到.txt文件中并将其重命名为.bat,同时确保将它们放在与要编辑的文件相同的文件夹中。
该程序将单词Orange
替换为单词Apple
。您只需要运行Replace.bat
您的输入文件位于Script1
,因此请根据您的需要进行编辑。