我在Groovy的(1.7.3)XmlUtil.serialize(GPathResult)方法中遇到了一个奇怪的问题.当我用GPathResult调用它时,它会抛出"prolog中不允许内容"错误,但是groovy.util.Node正好序列化.这是我正在尝试的非常简单的Groovy脚本:
import groovy.xml.XmlUtil
import groovy.xml.StreamingMarkupBuilder
def xmlStr = """<?xml version="1.0" encoding="UTF-8"?><stuff>ver="1.0"><properties><foo>bar</foo></properties></stuff>"""
//to pretty print GPathResult -- NOT WORKING
def gpr = new XmlSlurper().parseText( xmlStr )
println XmlUtil.serialize( gpr )
println 'trying groovy.util.Node'
//to pretty print groovy.util.Node -- WORKS
def node = new XmlParser().parseText( xmlStr )
println( XmlUtil.serialize( node ) )
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出:
[Fatal Error] :1:1: Content is not allowed in prolog.
ERROR: 'Content is not allowed in prolog.'
<?xml version="1.0" encoding="UTF-8"?>
trying groovy.util.Node
<?xml version="1.0" encoding="UTF-8"?>
<stuff ver="1.0">
<properties>
<foo>bar</foo>
</properties> …Run Code Online (Sandbox Code Playgroud) 我正在尝试模式匹配我关心SQL生成的几种类型.理想情况下我想这样做:
let rec getSafeValue record (prop: PropertyInfo) =
match prop.GetValue(record, null) with
| :? string as str -> "'" + str + "'"
| :? Option<_> as opt ->
match opt with
| Some v -> getSafeValue v prop
| None -> "null"
| _ as v -> v.ToString()
Run Code Online (Sandbox Code Playgroud)
问题是,在这里,类型参数Option<_>获取约束以匹配,record最终只是obj.
我知道我可以做一些基于反射的检查(检查它是一个通用类型,并且它是基于名称的选项类型),但我宁愿避免这种情况,如果可能的话.
是否可以将iOS和OSX文档用于离线阅读?如果是这样,怎么样?
string grid = @"08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08";
string[] res = grid.Split(' ');
var lowNums = from n in res
where n.Length > 0
select int.Parse(n);
Run Code Online (Sandbox Code Playgroud)
我无法将上述linQ语句转换为lambda WHERE等效语句.以下工作,但只返回上午,enumernable<string>而我想要一个enumerable<int>:
IEnumerable<string> all = res.Where(x => x.Length > 0);
Run Code Online (Sandbox Code Playgroud) 这个MSDN引用似乎表明,当一个int?(或任何一个Nullable<T>)有一个值时,它总是被装箱(因此数据存储效率低得多int).是这样的吗?
我需要"'"从python中的字符串中去掉字符.我该怎么做呢?
我知道有一个简单的答案.我真正想要的是如何写'我的代码.例如\n=换行符.
我基本上直接从 keytool 示例页面创建了一个证书:
keytool -genkey -dname "cn=Anything, ou=Anything, o=Anything, c=US" -alias business -keypass kpi135 -keystore C:\mykeystore -storepass ab987c -validity 1095
我正在尝试访问此证书并使用私钥部分对一部分文本进行数字签名以与第三方进行身份验证。下面是我正在尝试的代码:
//Add bouncyCastle as a provider
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
KeyStore keystore = KeyStore.getInstance("JKS");
keystore.load(new FileInputStream("C:\\mykeystore"), "ab987c".toCharArray());
Signature sig = Signature.getInstance("MD5withRSA", "BC");
PrivateKey privateKey = (PrivateKey)keystore.getKey("business", "kpi135".toCharArray()); //Exception here
sig.initSign(privateKey);
sig.update("myUID__myNonce".getBytes());
byte[] digitalSignature = sig.sign();
System.out.println("Signature Formulated: " + digitalSignature);
Run Code Online (Sandbox Code Playgroud)
我收到以下异常:
java.security.InvalidKeyException: Supplied key (sun.security.provider.DSAPrivat
eKey) is not a RSAPrivateKey instance
at org.bouncycastle.jce.provider.JDKDigestSignature.engineInitSign(Unkno
wn Source)
at java.security.Signature$Delegate.engineInitSign(Signature.java:1095)
at java.security.Signature.initSign(Signature.java:480)
at MainClass.<init>(MainClass.java:15)
at …Run Code Online (Sandbox Code Playgroud) 我创建了一个用户控件,一个Web服务和一个Web方法来返回控件的渲染html,通过jQuery执行ajax调用.
一切正常,但如果我在使用相对路径的用户控件中放置一些东西(在我的情况下是一个带有NavigateUrl ="〜/ mypage.aspx"的HyperLink),相对路径的分辨率在我的开发服务器中失败.
我期待: http:// localhost:999/MyApp/mypage.aspx
但我得到: http:// localhost:999/mypage.aspx
缺少'MyApp'......
我认为问题在于创建用于加载控件的页面:
Page page = new Page();
Control control = page.LoadControl(userControlVirtualPath);
page.Controls.Add(control);
...
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚为什么......
编辑 只是为了清楚
我的用户控件位于~/ascx/mycontrol.ascx
并包含一个非常简单的结构:现在只是一个带NavigateUrl的超链接"~/mypage.aspx".并且"mypage.aspx"确实存在于根目录中.
然后我编写了一个Web服务来返回ajax部分渲染控件:
[ScriptService]
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class wsAsynch : System.Web.Services.WebService
{
[WebMethod(EnableSession = true)]
public string GetControl(int parma1, int param2)
{
/* ...do some stuff with params... */
Page pageHolder = new Page();
UserControl viewControl = (UserControl)pageHolder.LoadControl("~/ascx/mycontrol.ascx");
Type viewControlType = viewControl.GetType(); …Run Code Online (Sandbox Code Playgroud) 如果我创建一个多绘图窗口par(mfrow=...),是否可以将数据发送到特定的绘图(即"左下角的那个")或者绘图总是必然是连续的?是否有一个R的包来做这样的事情?
对于那些感兴趣的人来说,出现这个问题的原因是R是一个单线程应用程序,并不适合实时可视化.我有多个实时数据流从外部源进入R,异步生成数据(因此数据流并不总是以相同的顺序).这导致R在每次更新时都围绕数据可视化图的顺序翻转.