Command line DOS/Windows xmlstarlet使用字符串而不是xml文件
xmlstarlet是否可以与字符串而不是xml文件一起使用? e、 g: 或者我怎么能用一根绳子来实现呢? 当我回显字符串并将其传输到xmlstarlet时,它不起作用:Command line DOS/Windows xmlstarlet使用字符串而不是xml文件,command-line,echo,call,xmlstarlet,Command Line,Echo,Call,Xmlstarlet,xmlstarlet是否可以与字符串而不是xml文件一起使用? e、 g: 或者我怎么能用一根绳子来实现呢? 当我回显字符串并将其传输到xmlstarlet时,它不起作用: SET "_var=^<pathlist^>^<path^>C:\file.txt^</path^> ^</pathlist^>" & call echo %^_var% | xmlstarlet sel -t -v "//*" 给出错误: < was une
SET "_var=^<pathlist^>^<path^>C:\file.txt^</path^> ^</pathlist^>"
&
call echo %^_var% | xmlstarlet sel -t -v "//*"
给出错误:
< was unexpected at this time.
-:1.1: Document is empty
^
-:1.1: Start tag expected, '<' not found
^
这实际上是一项简单的任务,但我无法让它工作。我只想在一行代码中向xmlstarlet回显字符串。cmd.exe语法很奇怪,使用set/p的以下技巧似乎有效:
C:\tmp><nul (set /p ="<pathlist><path>C:\file.txt</path></pathlist>") | xmlstarlet sel -t -v /*
C:\file.txt
结果是什么?我得到了更多的错误,提供的命令做了什么?@Sandra:我为第一个工作的命令添加了提示和输出,它输出了C:\file.txt,这就是你想要的,对吧?这对我不起作用,我得到了奇怪的错误。这会创建一个空文件吗?应该没有文件,它只是打印到标准输出。我在Windows Vista和7上进行了测试。我发现以下错误C:\Users\user1>
< was unexpected at this time.
-:1.1: Document is empty
^
-:1.1: Start tag expected, '<' not found
^
C:\tmp><nul (set /p ="<pathlist><path>C:\file.txt</path></pathlist>") | xmlstarlet sel -t -v /*
C:\file.txt
C:\tmp> echo ^<^>
<>
C:\tmp> echo ^<^> | more
> was unexpected at this time.