SgmlReader и System.Xml Windows 8

Я пытаюсь преобразовать поток HTML в XML, используя SgmlReader для дальнейшего анализа. Это преобразование является частью приложения, которое я разрабатываю для Windows 8 Store. Ниже приведен метод преобразования 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();
    }

The sgmlReader.WhitespaceHandling = WhitespaceHandling.All; это проблема, так как Xml.WhitespaceHandling нет. Есть ли другой способ сделать это?

1 ответ

Решение

После большого количества чтения и тестирования / отладки только что обнаружил, что sgmlReader.WhitespaceHandling = WhitespaceHandling.All не требуется по крайней мере в моем случае, так как sgmlReader.WhitespaceHandling по умолчанию имеет значение All. Однако я удалил sgmlReader.IgnoreDtd = true; и теперь мой XML-файл выглядит нормально;)

Надеюсь, это поможет кому-то

Другие вопросы по тегам