【发布时间】:2011-08-16 03:33:59
【问题描述】:
例如xml如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<Test>
<TestNode index = "A's B"s">ABCDEFG</TestNode>
</Test>
通常我会在 C# 中尝试以下代码来获取节点:
XmlDocument doc= new XmlDocument();
doc.Load("xxx.xml");
string xpath = string.Format("//TestNode[@index='{0}']", "A's B\"s");
XmlNode TestNode = doc.SelectSingleNode(xpath);
代码出现错误,因为 xpath 将变为 "//TestNode[@index='A's B\"s"
虽然我可以用 " 代替 ' 来表示值,只是说
string xpath = string.Format("//TestNode[@index=\"{0}\"]", "A's B\"s");
但是代码也会出现错误,因为值包含“
那么如果要选择属性值同时包含'和"的节点怎么办?
【问题讨论】:
-
示例不是有效的 XML。