0

我正在尝试使用 SgmlReader 将 HTML 流转换为 XML 以进行进一步解析。此转换是我正在为 Windows 8 应用商店开发的 APP 的一部分。以下是将 Html 转换为 XML 的方法:-

public static void ConvertToXml(string webResponse)
    {
        StringWriter sWriter = new StringWriter();
        XmlWriter xmlWriter = XmlWriter.Create(sWriter);
        SgmlReader sgmlReader = new SgmlReader();
        sgmlReader.DocType = "HTML";
        sgmlReader.WhitespaceHandling = WhitespaceHandling.All;
        sgmlReader.CaseFolding = CaseFolding.ToLower;
        sgmlReader.InputStream = new StringReader(webResponse);
        sgmlReader.IgnoreDtd = true;
        while (!sgmlReader.EOF)
        {
            xmlWriter.WriteNode(sgmlReader, true);
        }
        xmlWriter.Flush();
        XmlString = sWriter.ToString();
    }

sgmlReader.WhitespaceHandling = WhitespaceHandling.All; 是 Xml.WhitespaceHandling 不存在的问题。还有其他方法可以做到这一点吗?

4

1 回答 1

0

经过大量阅读和测试/调试后,我发现至少在我的情况下不需要 sgmlReader.WhitespaceHandling = WhitespaceHandling.All,因为默认情况下 sgmlReader.WhitespaceHandling 设置为 All 。但是我删除了 sgmlReader.IgnoreDtd = true; 现在我的 Xml 文件看起来很正常;)

希望这会对某人有所帮助

于 2012-11-24T22:28:00.420 回答