【问题标题】:Extract HTML from xml从 xml 中提取 HTML
【发布时间】:2019-12-12 09:00:54
【问题描述】:

我想从 xml 文件中提取 html 页面。请问有什么想法吗?

 <?xml ....>
      <first>
      </first>

         <second>
         </second>
      <xhtml>
          <html>
              .....some html code here
          </html>
      </xhtml>

我想从上面提取html页面。

【问题讨论】:

  • 可能会有所帮助:stackoverflow.com/questions/4980786/…
  • 我在 Java 中需要这个。我需要在服务器端使用它。
  • 您是否尝试过简单地使用 XML 解析器解析它,然后获取节点值?
  • 您不能这样做,因为不能保证 HTML 是格式正确的 XML。但是,如果您的 XML 文件包含 XHTML 片段,则可以这样做。
  • 是的……它的 html 在 xhtml 标签下。更新我的问题。

标签: java html xml


【解决方案1】:

因为 xml 和 html 标记相似,所以任何 xml 解析器都可能存在问题。我建议当您将 html 数据保存在 xml 文件中时,对其进行编码以防止 xml 解析器出现问题。然后当你从 xml 中调用数据时,你只需要对其进行解码以供使用。

<?xml ....?
<first></first>
<second></second>
<markup>
    &lt;html&gt;
        code here
    &lt;/html&gt;
</markup>

当你解码标记部分时,它看起来像这样

<html>
    code here
</html>

【讨论】:

  • 我没有生成这个 xml...它是来自 web 服务的响应。所以无法控制我得到什么。
  • 啊,好吧,那就不好玩了。我对 java 并不出色(甚至不擅长它),所以在这方面我帮不上什么忙。不过祝你好运。
【解决方案2】:

你可能会发现这个有点用处:

http://www.w3schools.com/xml/xml_parser.asp

您可以使用 JavaScript 从 XML 中提取 HTML。然后,您可以使用 JavaScript 在 HTML 页面上创建一个元素并将 HTML 转储到其中。唯一的问题是您收到的 XML 数据似乎带有 HTML 标记。

如果要将内容添加到现有页面,则必须去除 html 和 body 标签。

【讨论】:

    【解决方案3】:

    如果你使用 python,提取可以很容易。

    from simplified_scrapy.simplified_doc import SimplifiedDoc 
    html='''
     <?xml >
        <first>
        </first>
            <second>
            </second>
        <xhtml>
            <html>
                .....some html code here
            </html>
        </xhtml>
    '''
    doc = SimplifiedDoc(html)
    html = doc.xhtml.html
    print (html)
    

    首先你需要使用 pip 安装 simple_scrapy。

    pip install simplified_scrapy
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-12
      • 1970-01-01
      • 1970-01-01
      • 2013-02-15
      • 2018-07-25
      相关资源
      最近更新 更多