首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python读取包含中文字符的xml文件

Python读取包含中文字符的xml文件
EN

Stack Overflow用户
提问于 2020-05-17 02:28:16
回答 1查看 117关注 0票数 1

这是我的示例xml文件

代码语言:javascript
复制
<ROOT><RECORD><設立案號>066143470</設立案號><登記編號>4927872</登記編號><工廠名稱>公司名稱</工廠名稱><工廠地址>工廠地址</工廠地址></RECORD></ROOT>

我面临的问题是在我把它读进BeautifulSoup之后:

代码语言:javascript
复制
soup = BeautifulSoup (open("info.xml"), features="lxml")
page = soup.html.root
print(page.prettify())

我得到的结果是

代码语言:javascript
复制
<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>

基本上,这个文件的设置真的很混乱。如何在保留所有中文字符和结构的情况下读取文件?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-05-17 02:36:57

使用xml解析器,而不是lxml

代码语言:javascript
复制
txt = '''<ROOT><RECORD><設立案號>066143470</設立案號><登記編號>4927872</登記編號><工廠名稱>公司名稱</工廠名稱><工廠地址>工廠地址</工廠地址></RECORD></ROOT>'''

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

打印:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<ROOT>
 <RECORD>
  <設立案號>
   066143470
  </設立案號>
  <登記編號>
   4927872
  </登記編號>
  <工廠名稱>
   公司名稱
  </工廠名稱>
  <工廠地址>
   工廠地址
  </工廠地址>
 </RECORD>
</ROOT>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61841675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档