繁体   English   中英

通过批处理以XML编辑多个标签数据

[英]Editing multiple tag data in XML via batch

    (for /F "delims=" %%a in (Settings.xml) do (
       set "line1=%%a"
       set "newLine1=!line1:DefaultLatitude>=!"
       if "!newLine1!" neq "!line1!" (
          set "newLine1=<DefaultLocation>%newLoc%</DefaultLocation>"
       )
       echo !newLine1!
    )) > newFile.xml
    copy newFile.xml Settings.xml

我正在使用它来修改Settings.xml中DefaultLocation的值,如何扩展它以便能够在同一函数中修改多个标签?

目前,我只是复制并粘贴它,看来效率低下

使用带有"from|to"值的内部循环( |看起来不错,不太可能在您的值中使用):

(for /F "delims=" %%a in (Settings.xml) do (
    set "line=%%a"
    for %%b in (
        "DefaultLatitude>|<DefaultLocation>%newLoc%</DefaultLocation>"
        "herp>|<foo>%foo%</foo>"
        "derp>|<bar>%bar%</bar>"
    ) do for /f "delims=| tokens=1,2" %%c in (%%b) do (
        if "!line:%%c=!" neq "!line!" set "line=%%d"
    )
    echo.!line!
)) > newFile.xml
  • echo. 用于正确打印空行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM