Я столкнулся с проблемой при разборе XML с использованием BeautifulSoap и Python.
Например, часть содержимого XML, представленного ниже:
xml = '''<line b="498" baseline="488" l="520" r="1248" t="456">
<formatting lang="EnglishUnitedStates">
$
<price appendorder="10" class="extraction-tag" confidence="1/1" data-original-title="Price" data-toggle="tooltip" data-value="25.00" style="background-color: rgb(192, 185, 178);" tagorder="10">
25.00
</price>
.
</formatting>
</line>'''
soup = BeautifulSoup(xml, "lxml-xml")
tag = soup.price
tag['data-value'] = "$25.00"
tag.string = "$25.00"
outside_tag_str = str(tag.find_parent())
new_outside_tag_str = outside_tag_str.replace("$<", "<")
print(new_outside_tag_str)
#prints: <formatting lang="EnglishUnitedStates">
$
<price appendorder="10" class="extraction-tag" confidence="1/1" data-original-title="Price" data-toggle="tooltip" data-value="$25.00" style="background-color: rgb(192, 185, 178);" tagorder="10">$25.00</price>
.
</formatting>
Как видите, я хочу включить знак доллара в тег, но мой код возвращает знак доллара внутри и снаружи тега. Что я делаю не так? Я хочу, чтобы меня вернули:
<formatting lang="EnglishUnitedStates">
<price appendorder="10" class="extraction-tag" confidence="1/1" data-original-title="Price" data-toggle="tooltip" data-value="$25.00" style="background-color: rgb(192, 185, 178);" tagorder="10">$25.00</price>
.
</formatting>
Любая помощь будет принята с благодарностью, спасибо.