SgmlReader和System.Xml Windows 8

时间:2012-11-24 18:10:33

标签: windows-8 sgmlreader

我正在尝试使用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不存在是问题。还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

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

希望这会有所帮助