gpt4 book ai didi

c# - 使用单引号和双引号对 XPath 表达式进行编码

转载 作者:IT王子 更新时间:2023-10-29 04:21:41 25 4
gpt4 key购买 nike

XPath (v1) 不包含对表达式进行编码的方法。

如果您只有单引号或双引号,那么您可以使用诸如

之类的表达式
//review[@name="Bob's Pizza"]
//review[@name='"Pizza" Pam']

但是如果你同时拥有两者,例如 [Fred's "Fancy Pizza"] 那么你必须使用类似这样的东西 Escaping Strings in XPath (C++)生成

//review[@name=Concat("Fred's ",'"Fancy Pizza"')]

有人在 c# 中有一个函数可以做到这一点吗?

一些关闭的链接

编辑:一些答案建议使用 ' 和“使用 进行转义,但尽管这是有道理的,但它不起作用;尝试使用 XML 片段:

<review name="Bob's Pizza"/>

和 xpath

//review[@name='Bob&apos;s Pizza']

最佳答案

哇,你们肯定把事情弄复杂了。为什么不这样做呢?

public static string XpathExpression(string value)
{
if (!value.Contains("'"))
return '\'' + value + '\'';

else if (!value.Contains("\""))
return '"' + value + '"';

else
return "concat('" + value.Replace("'", "',\"'\",'") + "')";
}

.NET Fiddle & test

关于c# - 使用单引号和双引号对 XPath 表达式进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/642125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com