Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用SED提取XML标记之间的值_C#_Windows_Sed_Grep - Fatal编程技术网

C# 使用SED提取XML标记之间的值

C# 使用SED提取XML标记之间的值,c#,windows,sed,grep,C#,Windows,Sed,Grep,我正在从服务器接收以下格式的数据: gin</type><sessionId>1601</sessionId><directory><default>DepthOfBook</default><study type="DepthOfBook"/ gin1601DepthOfBook类似的东西可以工作: sed -e 's/<\/sessionId>/<\/sessionId>\n/g' |

我正在从服务器接收以下格式的数据:

gin</type><sessionId>1601</sessionId><directory><default>DepthOfBook</default><study type="DepthOfBook"/

gin1601DepthOfBook类似的东西可以工作:

 sed -e 's/<\/sessionId>/<\/sessionId>\n/g' | sed -n 's/.*<sessionId>\([^<]*\)<\/sessionId>.*/\1/p'
sed-e's//\n/g'| sed-n's/*\([^我建议使用,这是一种XML查询语言。如果安装了Perl模块,则可以在shell中使用以下命令:

xpath -q -e '//sessionId/text()' <input_file>
xpath-q-e'//sessionId/text()
这可能适合您(GNU-sed):

sed'/!d;s//\n/;s/[^\n]*\n/;:a;$!{/!n;//!ba};y/\n/;s/\n/;P;d'文件

给定的数据是格式良好的XML?作者声明标记是XML,因此我假设他有一个XML文档(否则说明标记是XML是没有用的),应该始终是XML文档,否则就不是XML文档。
xpath -q -e '//sessionId/text()' <input_file>
sed '/<sessionId>/!d;s//\n/;s/[^\n]*\n//;:a;$!{/<\/sessionId>/!N;//!ba};y/\n/ /;s/<\/sessionId>/\n/;P;D' file