-1

我正在尝试将 html 转换为 xml,但 html 标记属性的双引号不起作用
,因此当将其转换为 xml 时会出现错误,那么如何在我的 xml 文件中添加双引号,我正在使用 vb.net windows 窗体应用程序

4

3 回答 3

0

我想知道你用什么方法来转换。你对此只字不提。然而,很明显这种方法才是核心问题。也许还有你打算在 html 转换为 xml 后做什么?

说实话,鉴于 html 已经是 xml(至少是格式良好的 html),因此不需要转换。只需将您的 html 加载到一个XDocument示例中......就是这样。没什么特别可做的。

于 2012-11-03T10:22:19.343 回答
0

转换html不起作用..在各种极端情况下,您xml的转换可能会失败htmlxml

将 html 转换为 xml 的最佳方法是:

html1>从使用解析器如htmlagilitypack中提取相关数据

2>xml使用各种 xml api 将提取的数据存储到XmlWriterLinq2Xml中。

于 2012-11-03T07:21:18.793 回答
0

请试试这个:

  • 从 nuget 安装 SgmlReader
  • 如果您有如下所示的字符串变量,则必须将其转换为 TextReader 对象。

现在我们将使用安装的包。

static XmlDocument HTMLTEST()
        {
            string html = "<table frame=all><tgroup></tgroup></table>";
            TextReader reader = new StringReader(html);

            Sgml.SgmlReader sgmlReader = new Sgml.SgmlReader();
            sgmlReader.DocType = "HTML";
            sgmlReader.WhitespaceHandling = System.Xml.WhitespaceHandling.All;
            sgmlReader.InputStream = reader;

            XmlDocument doc = new XmlDocument();
            doc.PreserveWhitespace = true;  //false if you dont want whitespace
            doc.XmlResolver = null;

            doc.Load(sgmlReader);

            return doc;
        }

输入为字符串 html 格式,返回为 doc XmlDocument 格式。您的 frame=all 来自 html 将变为 frame="all"。

于 2015-12-11T14:57:27.633 回答