Слияние кода завершено, страница обновится автоматически
from xml.parsers.expat import ParserCreate, XMLParserType
# xml_data = """
# <root>
# <h:table xmlns:h="http://www.w3.org/TR/html4/">
# <h:tr>
# <h:td>Apples</h:td>
# <abcdef>哈哈哈哈</abcdef>
# <h:td>Bananas</h:td>
# </h:tr>
# </h:table>
# <f:table xmlns:f="http://www.w3cschool.cc/furniture">
# <f:name>African Coffee Table</f:name>
# <f:width>80</f:width>
# <f:length>120</f:length>
# </f:table>
# </root>
# """
xml_data = """
<root xmlns:p="Person" xmlns:a="Animal">
<p:police id="007">警察</p:police>
<p:doctor id="001">医生</p:doctor>
<a:dog id="002">狗狗</a:dog>
</root>
"""
def parse_odict(xml_data: str):
def onXmlDeclHandler(version: int, encoding, standalone: int): ...
def onStartElementHandler(name: str, attrs):
print('onStartElementHandler:', f'"{name}"', attrs)
def onEndElementHandler(name: str):
print('onEndElementHandler:', f'"{name}"')
def onStartCdataSectionHandler(): ...
def onEndCdataSectionHandler(): ...
def onCommentHandler(data: str): ...
def onCharacterDataHandler(data: str): ...
# def onStartNamespaceDeclHandler(prefix, uri):
# print('onStartNamespaceDeclHandler:', prefix, uri)
# def onEndNamespaceDeclHandler(prefix):
# print('onEndNamespaceDeclHandler:', prefix)
xmlParser: XMLParserType = ParserCreate(namespace_separator='-')
xmlParser.XmlDeclHandler = onXmlDeclHandler
xmlParser.StartElementHandler = onStartElementHandler
xmlParser.EndElementHandler = onEndElementHandler
xmlParser.CommentHandler = onCommentHandler
xmlParser.CharacterDataHandler = onCharacterDataHandler
xmlParser.StartCdataSectionHandler = onStartCdataSectionHandler
xmlParser.EndCdataSectionHandler = onEndCdataSectionHandler
# xmlParser.StartNamespaceDeclHandler = onStartNamespaceDeclHandler
# xmlParser.EndNamespaceDeclHandler = onEndNamespaceDeclHandler
xmlParser.buffer_text = True
xmlParser.ordered_attributes = True
xmlParser.Parse(xml_data, 1)
parse_odict(xml_data)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )