VB转C#字符串翻译

时间:2017-11-25 17:33:41

标签: javascript c# vb.net compiler-errors

我有一些视觉基本代码:

       Dim jsScript As String = <js><![CDATA[
document.all("q").value = "stack overflow";
document.all("search_button_homepage").click();
                             ]]></js>.Value
   browser.ExecuteScriptAsync(jsScriptB)

将一个字符串作为javascript执行到Cefsharp浏览器中。所以我想把它翻译成C#,我这样做:

string jscriptB = <js><![CDATA[
document.all("q").value = "stack overflow";
document.all("search_button_homepage").click();
                             ]]></js>.Value
browser.ExecuteScriptAsync(jsScriptB)

我收到一大堆错误消息,例如:

错误CS0103当前上下文中不存在名称“文档”

无效的表达式术语'&lt;'

有人可以解释发生了什么以及如何解决这个问题吗?我无法想象为什么简单的字符串转换不起作用。感谢您的时间,祝您度过愉快的一天。

编辑: 所以我现在有:

 var test = @"< js >< ![CDATA[
  document.all(""q"").value = ""stack overflow"";
            document.all(""search_button_homepage"").click();
                             ]]></ js >.Value";
browser.ExecuteScriptAsync(test);

但它不像vb代码那样执行javascript。谁能解释一下呢?

1 个答案:

答案 0 :(得分:0)

C#没有VB的xml文字功能,所以你必须自己调用XElement.Parse方法:

string jsScript = System.Xml.Linq.XElement.Parse("<js><![CDATA[ document.all(\"q\").value = \"stack overflow\"; document.all(\"search_button_homepage\").click(); ]]></js>").Value;
browser.ExecuteScriptAsync(jsScriptB);