首页 > 解决方案 > 如何从 xml 中检索 html?

问题描述

我正在尝试从 XML 文件中获取 HTML 代码,而我得到的只是单个元素。

XML 示例:

  <?xml version="1.0" encoding="ISO-8859-1"?>
  <websites>
    <website name="1">
      <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
          <title/>
        </head><body>Sample Content.....</body>
      </html>
    </website>
  </websites>

我需要一个只包含这样的html的字符串

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title/>
   </head><body>Sample Content.....</body>
</html>

标签: pythonhtmlxmlxml-parsinghtml-parsing

解决方案


您可以使用beautifulsoup

from bs4 import BeautifulSoup

example = """
<?xml version="1.0" encoding="ISO-8859-1"?>
<websites>
  <website name="1">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <title/>
      </head><body>Sample Content.....</body>
    </html>
  </website>
</websites>
"""

soup = BeautifulSoup(example)
html = soup.find('html')
print(html)

输出:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head><body>Sample Content.....</body>
</html>

推荐阅读