如何使用 C# 转义 XPath 引号“”
Posted
技术标签:
【中文标题】如何使用 C# 转义 XPath 引号“”【英文标题】:How to escape XPath quotes "" with C# 【发布时间】:2021-05-26 07:34:33 【问题描述】:我正在尝试使用 XPath 和 htmlAgilityPack 抓取 Pinterest,但 XPath 写入 ""
(//*(@id="XX"
) 来表示 id 属性值,因此在 C# 中字符串被拆分并且出现语法错误。 ("["@id="XX(error)"]"
) 我该怎么办?
【问题讨论】:
您需要提供要抓取的内容的示例,以及不正常的 C# 源代码。否则,我们将不得不猜测您的操作方式,我建议您查看***.com/questions/14480724/… 【参考方案1】:首先,修复您的 XPath 语法错误:将 //*(@id="XX"
更改为 //*[@id="XX"]
。
然后,要将//*[@id="XX"]
表示为 C# 字符串,请使用 C# 转义或 XPath 替代属性值分隔符。
C# 转义
通过\"
在C#中转义"
"//*[@id=\"XX\"]"
或通过逐字字符串文字语法
@"//*[@id=""XX""]"
XPath 替代属性值分隔符
使用'
作为属性值分隔符,XML 和 XPath 都允许:
"//*[@id='XX']"
另见
Escape double quotes in a string (C#) Escape double quote character in XML(XML 和 XPath)【讨论】:
以上是关于如何使用 C# 转义 XPath 引号“”的主要内容,如果未能解决你的问题,请参考以下文章
在一个查询中使用 MySqlCommand 将多条记录插入 MySQL C# (MySQLConnector) & command 转义引号的参数