以下の入力の場合、lxml
はdiv
がp
であることがわかるかのようにdiv
を変更します。lxmlが空のdivを予期して検出していません
誰でもこのタイプの入力に<div></div>
を取得する方法を教えてもらえますか?私は入力HTMLを修正したい。
BeautifulSoup
に切り替える必要がありますか?
from lxml import etree
html_string = """
<html>
<head>
<title></title>
</head>
<body>
<p align="center">
<div></div>
This line should be centered.
</p>
<table>
<tbody>
<tr>
<td>
<div></div>
</td>
</tr>
</tbody>
</table>
</body>
</html>
"""
html_element = etree.fromstring(html_string)
page_break_elements = html_element.xpath("//div")
(Pdb) etree.tostring(html_element[1][0][0])
b'<div/>\n This line should be centered.\n '
私はちょうどその要素を動かすだけです。好奇心旺盛な人のため
<div></div>
、これらはページ区切りを指定するPDF生成<div style="page-break-after:always"></div>
に使用改ページdiv
秒です。 TinyMCEから正しく入力されていないので、body
要素に移動しようとしています。
あなたがのtoStringの行動を(変更するには、いくつかの追加の引数を渡す必要があり
from lxml import etree
html_string = """
<html>
<head>
<title></title>
</head>
<body>
<div></div>
<p align="center">
This line should be centered.
</p>
<div></div>
<table>
<tbody>
<tr>
<td>
</td>
</tr>
</tbody>
</table>
</body>
</html>
"""
私はBeautifulSoupを使用し、目標を達成するためのコードを書きました。http://codereview.stackexchange.com/questions/136402/correcting-a-div-used-for-page-break-inside-p-by-moving- to-the-body-element – Nishant
divをさらに追加して、出力として期待できるものはありますか? –
このようなdivはボディレベルに移動する必要があります。それが私の希望する出力です。私のコードレビューソリューションはそうだが、私はlxmlソリューションをテストしなければならない。 – Nishant