使用 vbscript 的 xml 文件的正则表达式模式 [英] Regex pattern for an xml file using vbscript

查看:21
本文介绍了使用 vbscript 的 xml 文件的正则表达式模式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下 xml

<?xml version="1.0"?>
<Execution><MODULE Name="Billing Payments" StartTime="2:45:31 PM" EndTime="2:45:39 PM"><TESTCASE Name="BP01_One_Time_Payment" StartTime="2:45:31 PM" EndTime="2:45:36 PM"><ITERATION ID="1" StartTime="2:45:31 PM" EndTime="2:45:34 PM"><STEPRESULT Status="PASS" StepName="Test Step Pass 1" StepDetails="Test Step Details Pass 1" ScreenshotPath=""></STEPRESULT><STEPRESULT Status="PASS" StepName="Test Step Pass 2" StepDetails="Test Step Details Pass 2" ScreenshotPath="ScreenShot_Path_1"></STEPRESULT><STEPRESULT Status="FAIL" StepName="Test Step Failed 1" StepDetails="Test Step Details Failed 1" ScreenshotPath="ScreenShot_Path_2"/><STEPRESULT Status="DONE" StepName="Test Step Done 1" StepDetails="Test Step Details Done 1" ScreenshotPath=""/><STEPRESULT Status="DONE" StepName="Test Step Done 2" StepDetails="Test Step Details Done 2" ScreenshotPath=""/><STEPRESULT Status="DONE" StepName="Test Step Done 3" StepDetails="Test Step Details Done 3" ScreenshotPath=""/><SCREENSHOT Status="Screenshot" StepName="Screenshot for Navigation" ScreenshotPath="ScreenShot_Path_5"></SCREENSHOT><STEPRESULT Status="PASS" StepName="Test Step Pass 3" StepDetails="Test Step Details Pass 3" ScreenshotPath="ScreenShot_Path_3"></STEPRESULT><STEPRESULT Status="FAIL" StepName="Test Step Failed 2" StepDetails="Test Step Details Failed 1" ScreenshotPath="ScreenShot_Path_4"/><STEPRESULT Status="TERMINATE" StepName="Execution for the current iteration terminated due to failure in above step" StepDetails="Test Step Details Failed 1" ScreenshotPath=""/></ITERATION><ITERATION ID="2" StartTime="2:45:34 PM" EndTime="2:45:36 PM"><STEPRESULT Status="PASS" StepName="Test Step Pass 1" StepDetails="Test Step Details Pass 1" ScreenshotPath=""></STEPRESULT><STEPRESULT Status="PASS" StepName="Test Step Pass 2" StepDetails="Test Step Details Pass 2" ScreenshotPath="ScreenShot_Path_6"></STEPRESULT><STEPRESULT Status="FAIL" StepName="Test Step Failed 1" StepDetails="Test Step Details Failed 1" ScreenshotPath="ScreenShot_Path_7"/><STEPRESULT Status="DONE" StepName="Test Step Done 1" StepDetails="Test Step Details Done 1" ScreenshotPath=""/><STEPRESULT Status="DONE" StepName="Test Step Done 2" StepDetails="Test Step Details Done 2" ScreenshotPath=""/><STEPRESULT Status="DONE" StepName="Test Step Done 3" StepDetails="Test Step Details Done 3" ScreenshotPath=""/><SCREENSHOT Status="Screenshot" StepName="Screenshot for Navigation" ScreenshotPath="ScreenShot_Path_8"></SCREENSHOT><STEPRESULT Status="PASS" StepName="Test Step Pass 2" StepDetails="Test Step Details Pass 3" ScreenshotPath="ScreenShot_Path_9"></STEPRESULT><STEPRESULT Status="FAIL" StepName="Test Step Failed 2" StepDetails="Test Step Details Failed 1" ScreenshotPath="ScreenShot_Path_10"/></ITERATION></TESTCASE><TESTCASE Name="BP02_Enroll_Paperless" StartTime="2:45:36 PM" EndTime="2:45:39 PM"><ITERATION ID="1" StartTime="2:45:36 PM" EndTime="2:45:39 PM"><STEPRESULT Status="PASS" StepName="Test Step Pass 4" StepDetails="Test Step Details Pass 4" ScreenshotPath=""></STEPRESULT><STEPRESULT Status="PASS" StepName="Test Step Pass 5" StepDetails="Test Step Details Pass 5" ScreenshotPath="ScreenShot_Path_11"></STEPRESULT><STEPRESULT Status="FAIL" StepName="Test Step Failed 3" StepDetails="Test Step Details Failed 3" ScreenshotPath="ScreenShot_Path_12"/><STEPRESULT Status="DONE" StepName="Test Step Done 4" StepDetails="Test Step Details Done 4" ScreenshotPath=""/><STEPRESULT Status="DONE" StepName="Test Step Done 5" StepDetails="Test Step Details Done 5" ScreenshotPath=""/><STEPRESULT Status="DONE" StepName="Test Step Done 6" StepDetails="Test Step Details Done 6" ScreenshotPath=""/><SCREENSHOT Status="Screenshot" StepName="Screenshot for Navigation" ScreenshotPath="ScreenShot_Path_15"></SCREENSHOT><STEPRESULT Status="PASS" StepName="Test Step Pass 3" StepDetails="Test Step Details Pass 3" ScreenshotPath="ScreenShot_Path_13"></STEPRESULT><STEPRESULT Status="FAIL" StepName="Test Step Failed 4" StepDetails="Test Step Details Failed 4" ScreenshotPath="ScreenShot_Path_14"/></ITERATION></TESTCASE></MODULE><MODULE Name="Profile Management" StartTime="2:45:40 PM" EndTime="2:45:43 PM"><TESTCASE Name="PM01_Forgot_Username" StartTime="2:45:40 PM" EndTime="2:45:41 PM"><ITERATION ID="1" StartTime="2:45:40 PM" EndTime="2:45:41 PM"><STEPRESULT Status="PASS" StepName="Test Step Pass 6" StepDetails="Test Step Details Pass 6" ScreenshotPath=""></STEPRESULT><STEPRESULT Status="PASS" StepName="Test Step Pass 7" StepDetails="Test Step Details Pass 7" ScreenshotPath="ScreenShot_Path_16"></STEPRESULT><STEPRESULT Status="FAIL" StepName="Test Step Done 5" StepDetails="Test Step Details Failed 5" ScreenshotPath="ScreenShot_Path_17"/></ITERATION></TESTCASE><TESTCASE Name="PM02_Edit_Profile" StartTime="2:45:41 PM" EndTime="2:45:43 PM"><ITERATION ID="1" StartTime="2:45:42 PM" EndTime="2:45:43 PM"><STEPRESULT Status="PASS" StepName="Test Step Pass 8" StepDetails="Test Step Details Pass 6" ScreenshotPath=""></STEPRESULT><STEPRESULT Status="PASS" StepName="Test Step Pass 9" StepDetails="Test Step Details Pass 7" ScreenshotPath="ScreenShot_Path_16"></STEPRESULT><STEPRESULT Status="DONE" StepName="Test Step Done 8" StepDetails="Test Step Details Done 8" ScreenshotPath=""/><STEPRESULT Status="DONE" StepName="Test Step Done 9" StepDetails="Test Step Details Done 9" ScreenshotPath=""/><STEPRESULT Status="DONE" StepName="Test Step Done 10" StepDetails="Test Step Details Done 10" ScreenshotPath=""/></ITERATION></TESTCASE></MODULE></Execution>

请建议如何使用 vbscript 创建正则表达式模式以匹配上述 xml 格式?请帮助我是新手

Please suggest as to how the regex pattern should be created using vbscript to match the above xml format ? Please help I am new to this

我试过了

Set re = New RegExp
 With re.Pattern    = "'var xmlData = <Execution>[\s\S]*?<\/Execution>'"
 Regex.IgnoreCase = True 
 Regex.Global = True

  End With

请告诉我我哪里出错了?它给了我错误 Object required:false .

Please tell me where I ahave gone wrong ? It gives me the error Object required:false .

推荐答案

有关上下文,请参阅this.

具体问题:

With 需要一个对象;所以改变

With needs an object; so change

Set re = New RegExp
With re.Pattern    = "'var xmlData = <Execution>[\s\S]*?<\/Execution>'"
Regex.IgnoreCase = True 

Set re = New RegExp
With re
   .Pattern    = "'var xmlData = <Execution>[\s\S]*?<\/Execution>'"
   .IgnoreCase = True 

正确使用语法并不能解决真正的问题.您需要在不违反 Javascript 规则的情况下替换 var xmlData = 'x'; 可靠 中的 x(例如,要插入的 .XML 中的 EOL 标记会破坏代码).

Getting the syntax right won't solve the real problem. You need to replace the x in var xmlData = 'x'; reliably without breaking the Javascript rules (e.g. EOL markers in the .XML to insert will break the code).

XML 解析器无济于事,因为 OT 需要操作嵌入到 .HTML 中的 Javascript 代码.

An XML parser won't help, because the OT needs to manipulate Javascript code embedded into .HTML.

这篇关于使用 vbscript 的 xml 文件的正则表达式模式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆