如何解析具有意外错误的XHTML

时间:2017-10-12 14:18:08

标签: c# xml

我正在读取一个带有一些html的XML(带有XmlDocument)。但有时候我得到一个格式错误的XML就是这个:

   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    <head> 
    <meta http-equiv="refresh" content="0; url=<mocktag/>?<mock_tag=<moc
    ktag/>&mocktag_2=<mockta
    g/>
    </head> 
    </html> 

正如您所看到的,我的格式化标签很糟糕,因此导致我的程序崩溃。所以我的问题是能否正确读取xml字符串?也许将这个字符串转换成一行字符串?

1 个答案:

答案 0 :(得分:2)

要将其格式化为一行,您可以使用Regex:

output = Regex.Replace(output, @"\s+", " ", RegexOptions.Multiline);

应删除每个空格并将每一行放入一个。