Python用汉字读取xml文件

2024-04-27 00:50:30 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的示例xml文件

<ROOT><RECORD><設立案號>066143470</設立案號><登記編號>4927872</登記編號><工廠名稱>公司名稱</工廠名稱><工廠地址>工廠地址</工廠地址></RECORD></ROOT>

我面临的问题是在我读到BeautifulSoup之后:

soup = BeautifulSoup (open("info.xml"), features="lxml")
page = soup.html.root
print(page.prettify())

我得到的结果是

<root<record>066143470\u8a2d\u7acb\u6848\u865f&gt;4927872\u767b\u8a18\u7de8\u865f&gt;\u516c\u53f8\u540d\u7a31\u5de5\u5ee0\u540d\u7a31&gt;\u5de5\u5ee0\u5730\u5740\u5de5\u5ee0\u5730\u5740&gt;</record></root>

基本上,文件的设置真的是一团糟。我怎样才能在保留了所有汉字和结构的文件中阅读

提前谢谢


Tags: 文件gt地址rootxmlrecordsoupbeautifulsoup
1条回答
网友
1楼 · 发布于 2024-04-27 00:50:30

使用xml解析器,而不是lxml

txt = '''<ROOT><RECORD><設立案號>066143470</設立案號><登記編號>4927872</登記編號><工廠名稱>公司名稱</工廠名稱><工廠地址>工廠地址</工廠地址></RECORD></ROOT>'''

from bs4 import BeautifulSoup
soup = BeautifulSoup(txt, 'xml')
print(soup.prettify())

印刷品:

<?xml version="1.0" encoding="utf-8"?>
<ROOT>
 <RECORD>
  <設立案號>
   066143470
  </設立案號>
  <登記編號>
   4927872
  </登記編號>
  <工廠名稱>
   公司名稱
  </工廠名稱>
  <工廠地址>
   工廠地址
  </工廠地址>
 </RECORD>
</ROOT>

相关问题 更多 >