簡體   English   中英

空元素錯誤與美麗的湯

[英]Empty element error with Beautiful Soup

我正在使用Beautiful Soup解析xml文件,但是在解析空元素時發現不一致的行為。

from BeautifulSoup import BeautifulSoup
s1 = "<c><a /><b /></c>"
s2 = "<c><a></a><b></b></c>"
soup1 = BeautifulSoup(s1)
soup2 = BeautifulSoup(s2)
print soup1
# <c><a><b></b></a></c>
print soup2
# <c><a></a><b></b></c>

需要注意的是b標簽內a在第一種情況下的標簽,但不是在第二位。 我以為XML規范意味着s1s2是等效的?

關於我該如何處理呢?

錨點和粗體( <a><b> )元素不能自動關閉,因此這是無效的XHTML。

最重要的是, XHTML規范說,必須在斜杠前加一個空格:

在空元素的末尾/和>之前加一個空格,例如<br />,<hr />和<img src =“ karen.jpg” alt =“ Karen” />。 另外,對空元素使用最小化標簽語法,例如<br />,因為XML允許的替代語法<br> </br>在許多現有用戶代理中給出不確定的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM