通过XNA中的StreamReader替换XML文件中的单词?

好的,所以这有点像黑客......但可能必须如此。我正在XNA中编写一个应用程序,我对此问题的研究显然不支持XML 1.1版。我正在阅读ePub文档的内容,其中一本较新的书籍将其内容编码为1.1版XML文档。这导致程序崩溃,但结构与其余结构相同。唯一让它无法工作的是XmlDocument类中的硬编码“1.0”。 我是否有可能从流中读取文件,看它是否包含:
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
并简单地用“1.0”替换它?然后我可以将它作为XmlDocument拉入。我没有写任何文件,或任何复杂的结构阅读,只是寻找一些特定的节点,并拉入值,所以我不知道这将是什么后果。     
已邀请:
您可以通过将整个XML文件读入内存并按照自己的方式以非常狡猾的方式执行此操作:
string content = "";

// Read the XML file into content
StreamReader reader = new StreamReader("file.xml");
content = reader.ReadToEnd();
reader.Close();

// Find the character position just after the <?xml token, and just before the ?> token
int openIndex = content.IndexOf("<?xml", StringComparison.OrdinalIgnoreCase) + 5;
int closeIndex = content.IndexOf("?>", openIndex);

// Get the bits between <?xml and ?>    
string header = content.Substring(openIndex, closeIndex - openIndex);

// Substitute version string.
header = header.Replace("version="1.1"", "version="1.0"");

// Put Humpty Dumpty back together again.
content = string.Concat(content.Substring(0, openIndex), header, content.Substring(closeIndex));

// Feed content into an XMLReader (or equivalent) here.
它适用于您提供的示例字符串,但我没有在不完美格式的XML文档上进行测试。     

要回复问题请先登录注册