0

さらに解析するためにSgmlReaderを使用してHTMLストリームをXMLに変換しようとしています。この変換は、私がWindows8Store用に開発している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 に答える