如何编写一个 xpath 来选择一个节点,其文本包含特殊字符,例如 ' 这是一种无效的 inxpath?
<Nodes><Node><Text>General Marketing'</Text><Nodes><Node><Text>Brochures</Text></Node><Node><Text>Value-Added</Text><Nodes><Node><Text>About Henderson</Text></Node><Node><Text>Own the World</Text></Node></Nodes></Node></Nodes></Node></Nodes>
和
var branchName = "General Marketing'";
var xPath = String.Format("/Nodes/Node[Text = '{0}']", branchName);
上面的 xpath 失败,因为 xPath 包含以下文本:
/Nodes/Node[Text = 'General Marketing'']
如您所见,有 2 个撇号。
从我到目前为止的测试来看,它只有 '. 不确定是否还有其他可能有问题的特殊字符?
所以我想我需要将我的 xpath 修改为别的东西。
我尝试了以下但没有奏效:
var xPath = String.Format("/Nodes/Node[Text = \"{0}\"]", branchName);
希望问题很清楚。
谢谢,