lxml将未转义的实体添加到文档

时间:2019-03-20 17:35:02

标签: python xml lxml

是否有一种方法可以添加未转义的换行符或强制将换行符显示为$date1->diffInDays($date2); ,而无需LXML对其进行处理。显示表时,Excel XML文档不会考虑未转义的换行符。




这将输出

book = Element("Workbook", nsmap=nsmap)
sheet = Element("Worksheet")
sheet.set(SS + "Name", "Test")
table = Element("Table")

row = Element("Row")
cell = Element("Cell")
data = Element("Data")
data.set(SS + "Type", "String")
data.text = "Foo\nBar\nBaz"

cell.append(data)
row.append(cell)
table.append(row)
sheet.append(table)
book.append(sheet)

tostring(book,
         encoding="utf-8",
         method="xml",
         doctype="<?mso-app...?>",
         xml_declaration=True,
         pretty_print=True)

,不幸的是,该

不能按预期呈现。 Excel希望看到它:

<?xml version...?>
<?mso-app...?>
<Workbook xmlns="..." ...>
  <Worksheet ss:Name="Test">
    <Table>
      <Row>
        <Cell>
          <Data ss:Type="String">foo
bar
baz</Data>
        </Cell>
  ...
</Workbook>

我已经尝试过this answer,但是使用BeautifulSoup要么删除xmlns属性(当使用lxml-xml解析器时,如答案所示),要么无法保留大小写(当使用lxml或html5lib解析器时) ,并且Excel对于使用titlecase元素和属性名称非常挑剔。

0 个答案:

没有答案