如何转义经典ASP中的字符串以用于XPath查询?
我有字符串我想逃避用于XPath查询。在C#中,我可以通过调用SecurityElement.Escape
来完成此操作。在经典的ASP中是否有相同的调用?如何转义经典ASP中的字符串以用于XPath查询?
不,你需要自己处理字符串转义。
xpath = "//node[@attribute='" & SecurityElementEscape(value) & "']"
Function SecurityElementEscape(value)
SecurityElementEscape =
Replace(Replace(Replace(Replace(Replace(value,
"&" , "&"), '' // must be first one
"<" , "<" ),
">" , ">" ),
"""", """),
"'" , "'")
End Function
该死的。以为我可能必须这样做。谢谢。 – 2010-01-27 17:16:14
如果转义到'''等等,我应该感到惊讶,因为这是在XPath中没有意义的XML实体。 – Tomalak 2010-01-27 17:50:49
@Tomalak:+1是的,我很惊讶Rob已经发现这个工作。 – AnthonyWJones 2010-01-27 18:19:04
Rob,你能否提供更多的上下文。针对“MSXML.DOMDocument”执行XPath将无法使用接受的答案。因此你必须做其他事情。 – AnthonyWJones 2010-01-27 18:24:12
对不起,如果我更改xml以包含文本的转义版本,它确实有效。更具体的http://stackoverflow.com/questions/2148884/why-is-the-proper-xpath-query-to-find-the-value-in-this-xml-document是我遇到的问题。 – 2010-01-27 21:15:33