从XmlReader的字符串中删除\“转义字符

时间:2013-12-16 18:54:53

标签: c# xml string xml-parsing

我正在从字符串创建一个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.

问题在于字符串中的转义字符(\")。我怎么能绕过这个?

感谢。

1 个答案:

答案 0 :(得分:11)

你的问题的每个字都错了。

您看到\个字符,因为调试器将字符串显示为有效的字符串文字 字符串本身很好。如果将其打印到控制台,或使用Text Visualizer,您将看到字符串的原始值。

XmlReader.Create()抛出一个异常,因为它需要一个文件的路径,而不是一串源 要解析XML源代码串,请从该字符串创建一个新的StringReader并传递它。


最后,XmlReader是一个非常烦人的API 您应该使用LINQ to XML;只需致电XElement.Parse()