我正在从字符串创建一个XmlReader。该字符串包含字符串格式的XML提要。
字符串中该XML的片段是:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<menu>
<menuitem name=\"Tools\">
</menuitem>
</menu>
所以当执行以下行时:
XmlReader myXmlReader = XmlReader.Create(myInputString);
生成此错误:
Illegal characters in path.
问题在于字符串中的转义字符(\"
)。我怎么能绕过这个?
感谢。
答案 0 :(得分:11)
你的问题的每个字都错了。
您看到\
个字符,因为调试器将字符串显示为有效的字符串文字
字符串本身很好。如果将其打印到控制台,或使用Text Visualizer,您将看到字符串的原始值。
XmlReader.Create()
抛出一个异常,因为它需要一个文件的路径,而不是一串源
要解析XML源代码串,请从该字符串创建一个新的StringReader
并传递它。
最后,XmlReader
是一个非常烦人的API
您应该使用LINQ to XML;只需致电XElement.Parse()
。