将标签和文本字典转换为lxml.objectify.ObjectifiedElemen对象

2024-03-28 16:57:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将str:str字典转换为lxml objectify.ObjectifiedElement。当通过objectify.dump()查看时,原始元素看起来是这样的:

print(objectify.dump(el))

{http://www.smpte-ra.org/reg/395/2014/13/1/aaf}RGBADescriptor = None [ObjectifiedElement]
    {http://www.smpte-ra.org/reg/335/2012}InstanceID = urn:uuid:2404be93-9228-488f-a9aa-efef893cb57a [UUIDElement]
    {http://www.smpte-ra.org/reg/335/2012}SubDescriptors = None [ObjectifiedElement]
        {http://www.smpte-ra.org/reg/395/2014/13/1/aaf}JPEG2000SubDescriptor = None [ObjectifiedElement]
            {http://www.smpte-ra.org/reg/335/2012}InstanceID = urn:uuid:8ab44b12-c1aa-4b46-98d9-555988e6ae94 [UUIDElement]
            {http://www.smpte-ra.org/reg/335/2012}Rsiz = 1334 [IntElement]
            {http://www.smpte-ra.org/reg/335/2012}Xsiz = 3840 [IntElement]
            {http://www.smpte-ra.org/reg/335/2012}Ysiz = 2160 [IntElement]
            {http://www.smpte-ra.org/reg/335/2012}XOsiz = 0 [IntElement]
            {http://www.smpte-ra.org/reg/335/2012}YOsiz = 0 [IntElement]
            {http://www.smpte-ra.org/reg/335/2012}XTsiz = 3840 [IntElement]
            {http://www.smpte-ra.org/reg/335/2012}YTsiz = 2160 [IntElement]
            {http://www.smpte-ra.org/reg/335/2012}XTOsiz = 0 [IntElement]
            {http://www.smpte-ra.org/reg/335/2012}YTOsiz = 0 [IntElement]
            {http://www.smpte-ra.org/reg/335/2012}Csiz = 3 [IntElement]
            {http://www.smpte-ra.org/reg/335/2012}PictureComponentSizing = None [ObjectifiedElement]
                {http://www.smpte-ra.org/reg/2003/2012}J2KComponentSizing = None [ObjectifiedElement]
                    {http://www.smpte-ra.org/reg/2003/2012}Ssiz = 11 [IntElement]
                    {http://www.smpte-ra.org/reg/2003/2012}XRSiz = 1 [IntElement]
                    {http://www.smpte-ra.org/reg/2003/2012}YRSiz = 1 [IntElement]
                {http://www.smpte-ra.org/reg/2003/2012}J2KComponentSizing = None [ObjectifiedElement]
                    {http://www.smpte-ra.org/reg/2003/2012}Ssiz = 11 [IntElement]
                    {http://www.smpte-ra.org/reg/2003/2012}XRSiz = 1 [IntElement]
                    {http://www.smpte-ra.org/reg/2003/2012}YRSiz = 1 [IntElement]
                {http://www.smpte-ra.org/reg/2003/2012}J2KComponentSizing = None [ObjectifiedElement]
                    {http://www.smpte-ra.org/reg/2003/2012}Ssiz = 11 [IntElement]
                    {http://www.smpte-ra.org/reg/2003/2012}XRSiz = 1 [IntElement]
                    {http://www.smpte-ra.org/reg/2003/2012}YRSiz = 1 [IntElement]
            {http://www.smpte-ra.org/reg/335/2012}CodingStyleDefault = 104000100060303000077888888888888 [IntElement]
            {http://www.smpte-ra.org/reg/335/2012}QuantizationDefault = '4281f381d281d281b279d679d679b871e571e571d16a176a176a276292629262e95a705a705a25' [StringElement]
            {http://www.smpte-ra.org/reg/335/2012}J2CLayout = None [ObjectifiedElement]
                {http://www.smpte-ra.org/reg/2003/2012}RGBAComponent = None [ObjectifiedElement]
                    {http://www.smpte-ra.org/reg/2003/2012}Code = 'CompRed' [StringElement]
                    {http://www.smpte-ra.org/reg/2003/2012}ComponentSize = 12 [IntElement]
                {http://www.smpte-ra.org/reg/2003/2012}RGBAComponent = None [ObjectifiedElement]
                    {http://www.smpte-ra.org/reg/2003/2012}Code = 'CompGreen' [StringElement]
                    {http://www.smpte-ra.org/reg/2003/2012}ComponentSize = 12 [IntElement]
                {http://www.smpte-ra.org/reg/2003/2012}RGBAComponent = None [ObjectifiedElement]
                    {http://www.smpte-ra.org/reg/2003/2012}Code = 'CompBlue' [StringElement]
                    {http://www.smpte-ra.org/reg/2003/2012}ComponentSize = 12 [IntElement]
                {http://www.smpte-ra.org/reg/2003/2012}RGBAComponent = None [ObjectifiedElement]
                    {http://www.smpte-ra.org/reg/2003/2012}Code = 'CompNull' [StringElement]
                    {http://www.smpte-ra.org/reg/2003/2012}ComponentSize = 0 [IntElement]
                {http://www.smpte-ra.org/reg/2003/2012}RGBAComponent = None [ObjectifiedElement]
                    {http://www.smpte-ra.org/reg/2003/2012}Code = 'CompNull' [StringElement]
                    {http://www.smpte-ra.org/reg/2003/2012}ComponentSize = 0 [IntElement]
                {http://www.smpte-ra.org/reg/2003/2012}RGBAComponent = None [ObjectifiedElement]
                    {http://www.smpte-ra.org/reg/2003/2012}Code = 'CompNull' [StringElement]
                    {http://www.smpte-ra.org/reg/2003/2012}ComponentSize = 0 [IntElement]
                {http://www.smpte-ra.org/reg/2003/2012}RGBAComponent = None [ObjectifiedElement]
                    {http://www.smpte-ra.org/reg/2003/2012}Code = 'CompNull' [StringElement]
                    {http://www.smpte-ra.org/reg/2003/2012}ComponentSize = 0 [IntElement]
                {http://www.smpte-ra.org/reg/2003/2012}RGBAComponent = None [ObjectifiedElement]
                    {http://www.smpte-ra.org/reg/2003/2012}Code = 'CompNull' [StringElement]
                    {http://www.smpte-ra.org/reg/2003/2012}ComponentSize = 0 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}LinkedTrackID = 2 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}SampleRate = Fraction(24000, 1001) [RationalElement]
    {http://www.smpte-ra.org/reg/335/2012}EssenceLength = 67504 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}ContainerFormat = 'urn:smpte:ul:060e2b34.0401010d.0d010301.020c0600' [StringElement]
    {http://www.smpte-ra.org/reg/335/2012}FrameLayout = 'FullFrame' [StringElement]
    {http://www.smpte-ra.org/reg/335/2012}StoredWidth = 3840 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}StoredHeight = 2160 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}SampledWidth = 3840 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}SampledHeight = 2160 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}SampledXOffset = 0 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}SampledYOffset = 0 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}DisplayHeight = 2160 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}DisplayWidth = 3840 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}DisplayXOffset = 0 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}DisplayYOffset = 0 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}DisplayF2Offset = 0 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}ImageAspectRatio = Fraction(16, 9) [RationalElement]
    {http://www.smpte-ra.org/reg/335/2012}TransferCharacteristic = 'urn:smpte:ul:060e2b34.0401010d.04010101.010a0000' [StringElement]
    {http://www.smpte-ra.org/reg/335/2012}PictureCompression = 'urn:smpte:ul:060e2b34.0401010d.04010202.03010312' [StringElement]
    {http://www.smpte-ra.org/reg/335/2012}ColorPrimaries = 'urn:smpte:ul:060e2b34.0401010d.04010101.03060000' [StringElement]
    {http://www.smpte-ra.org/reg/335/2012}ActiveWidth = 3840 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}ActiveHeight = 2160 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}ActiveXOffset = 0 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}ActiveYOffset = 0 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}VideoLineMap = None [ObjectifiedElement]
        {http://www.smpte-ra.org/reg/2003/2012}Int32 = 42 [IntElement]
        {http://www.smpte-ra.org/reg/2003/2012}Int32 = 0 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}MasteringDisplayPrimaries = None [ObjectifiedElement]
        {http://www.smpte-ra.org/reg/2003/2012}ColorPrimary = None [ObjectifiedElement]
            {http://www.smpte-ra.org/reg/2003/2012}X = 34000 [IntElement]
            {http://www.smpte-ra.org/reg/2003/2012}Y = 16000 [IntElement]
        {http://www.smpte-ra.org/reg/2003/2012}ColorPrimary = None [ObjectifiedElement]
            {http://www.smpte-ra.org/reg/2003/2012}X = 13250 [IntElement]
            {http://www.smpte-ra.org/reg/2003/2012}Y = 34500 [IntElement]
        {http://www.smpte-ra.org/reg/2003/2012}ColorPrimary = None [ObjectifiedElement]
            {http://www.smpte-ra.org/reg/2003/2012}X = 7500 [IntElement]
            {http://www.smpte-ra.org/reg/2003/2012}Y = 3000 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}MasteringDisplayWhitePointChromaticity = None [ObjectifiedElement]
        {http://www.smpte-ra.org/reg/2003/2012}X = 15635 [IntElement]
        {http://www.smpte-ra.org/reg/2003/2012}Y = 16450 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}MasteringDisplayMaximumLuminance = 10000000 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}MasteringDisplayMinimumLuminance = 50 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}ComponentMaxRef = 4095 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}ComponentMinRef = 0 [IntElement]
    {http://www.smpte-ra.org/reg/335/2012}ScanningDirection = 'ScanningDirection_LeftToRightTopToBottom' [StringElement]
    {http://www.smpte-ra.org/reg/335/2012}PixelLayout = None [ObjectifiedElement]
        {http://www.smpte-ra.org/reg/2003/2012}RGBAComponent = None [ObjectifiedElement]
            {http://www.smpte-ra.org/reg/2003/2012}Code = 'CompRed' [StringElement]
            {http://www.smpte-ra.org/reg/2003/2012}ComponentSize = 12 [IntElement]
        {http://www.smpte-ra.org/reg/2003/2012}RGBAComponent = None [ObjectifiedElement]
            {http://www.smpte-ra.org/reg/2003/2012}Code = 'CompGreen' [StringElement]
            {http://www.smpte-ra.org/reg/2003/2012}ComponentSize = 12 [IntElement]
        {http://www.smpte-ra.org/reg/2003/2012}RGBAComponent = None [ObjectifiedElement]
            {http://www.smpte-ra.org/reg/2003/2012}Code = 'CompBlue' [StringElement]
            {http://www.smpte-ra.org/reg/2003/2012}ComponentSize = 12 [IntElement]
        {http://www.smpte-ra.org/reg/2003/2012}RGBAComponent = None [ObjectifiedElement]
            {http://www.smpte-ra.org/reg/2003/2012}Code = 'CompNull' [StringElement]
            {http://www.smpte-ra.org/reg/2003/2012}ComponentSize = 0 [IntElement]
        {http://www.smpte-ra.org/reg/2003/2012}RGBAComponent = None [ObjectifiedElement]
            {http://www.smpte-ra.org/reg/2003/2012}Code = 'CompNull' [StringElement]
            {http://www.smpte-ra.org/reg/2003/2012}ComponentSize = 0 [IntElement]
        {http://www.smpte-ra.org/reg/2003/2012}RGBAComponent = None [ObjectifiedElement]
            {http://www.smpte-ra.org/reg/2003/2012}Code = 'CompNull' [StringElement]
            {http://www.smpte-ra.org/reg/2003/2012}ComponentSize = 0 [IntElement]
        {http://www.smpte-ra.org/reg/2003/2012}RGBAComponent = None [ObjectifiedElement]
            {http://www.smpte-ra.org/reg/2003/2012}Code = 'CompNull' [StringElement]
            {http://www.smpte-ra.org/reg/2003/2012}ComponentSize = 0 [IntElement]
        {http://www.smpte-ra.org/reg/2003/2012}RGBAComponent = None [ObjectifiedElement]
            {http://www.smpte-ra.org/reg/2003/2012}Code = 'CompNull' [StringElement]
            {http://www.smpte-ra.org/reg/2003/2012}ComponentSize = 0 [IntElement]

我能够使用以下函数成功地重新打包元素:

def element_to_dict(el: objectify.ObjectifiedElement) -> Dict:
    return {el.tag: list(map(element_to_dict, el.iterchildren())) or el.text}

从而生成如下所示的词典:

{
    '{http://www.smpte-ra.org/reg/395/2014/13/1/aaf}RGBADescriptor': [
        {
            '{http://www.smpte-ra.org/reg/335/2012}InstanceID': 'urn:uuid:2404be93-9228-488f-a9aa-efef893cb57a'
        },
        {
            '{http://www.smpte-ra.org/reg/335/2012}SubDescriptors': [
                {
                    '{http://www.smpte-ra.org/reg/395/2014/13/1/aaf}JPEG2000SubDescriptor': [
                        {
                            '{http://www.smpte-ra.org/reg/335/2012}InstanceID': 'urn:uuid:8ab44b12-c1aa-4b46-98d9-555988e6ae94'
                        },
                        {'{http://www.smpte-ra.org/reg/335/2012}Rsiz': '1334'},
                        {'{http://www.smpte-ra.org/reg/335/2012}Xsiz': '3840'},
                        {'{http://www.smpte-ra.org/reg/335/2012}Ysiz': '2160'},
                        {'{http://www.smpte-ra.org/reg/335/2012}XOsiz': '0'},
                        {'{http://www.smpte-ra.org/reg/335/2012}YOsiz': '0'},
                        {'{http://www.smpte-ra.org/reg/335/2012}XTsiz': '3840'},
                        {'{http://www.smpte-ra.org/reg/335/2012}YTsiz': '2160'},
                        {'{http://www.smpte-ra.org/reg/335/2012}XTOsiz': '0'},
                        {'{http://www.smpte-ra.org/reg/335/2012}YTOsiz': '0'},
                        {'{http://www.smpte-ra.org/reg/335/2012}Csiz': '3'},
                        {
                            '{http://www.smpte-ra.org/reg/335/2012}PictureComponentSizing': [
                                {
                                    '{http://www.smpte-ra.org/reg/2003/2012}J2KComponentSizing': [
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}Ssiz': '11'
                                        },
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}XRSiz': '1'
                                        },
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}YRSiz': '1'
                                        },
                                    ]
                                },
                                {
                                    '{http://www.smpte-ra.org/reg/2003/2012}J2KComponentSizing': [
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}Ssiz': '11'
                                        },
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}XRSiz': '1'
                                        },
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}YRSiz': '1'
                                        },
                                    ]
                                },
                                {
                                    '{http://www.smpte-ra.org/reg/2003/2012}J2KComponentSizing': [
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}Ssiz': '11'
                                        },
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}XRSiz': '1'
                                        },
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}YRSiz': '1'
                                        },
                                    ]
                                },
                            ]
                        },
                        {
                            '{http://www.smpte-ra.org/reg/335/2012}CodingStyleDefault': '0104000100060303000077888888888888'
                        },
                        {
                            '{http://www.smpte-ra.org/reg/335/2012}QuantizationDefault': '4281f381d281d281b279d679d679b871e571e571d16a176a176a276292629262e95a705a705a25'
                        },
                        {
                            '{http://www.smpte-ra.org/reg/335/2012}J2CLayout': [
                                {
                                    '{http://www.smpte-ra.org/reg/2003/2012}RGBAComponent': [
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}Code': 'CompRed'
                                        },
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}ComponentSize': '12'
                                        },
                                    ]
                                },
                                {
                                    '{http://www.smpte-ra.org/reg/2003/2012}RGBAComponent': [
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}Code': 'CompGreen'
                                        },
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}ComponentSize': '12'
                                        },
                                    ]
                                },
                                {
                                    '{http://www.smpte-ra.org/reg/2003/2012}RGBAComponent': [
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}Code': 'CompBlue'
                                        },
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}ComponentSize': '12'
                                        },
                                    ]
                                },
                                {
                                    '{http://www.smpte-ra.org/reg/2003/2012}RGBAComponent': [
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}Code': 'CompNull'
                                        },
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}ComponentSize': '0'
                                        },
                                    ]
                                },
                                {
                                    '{http://www.smpte-ra.org/reg/2003/2012}RGBAComponent': [
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}Code': 'CompNull'
                                        },
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}ComponentSize': '0'
                                        },
                                    ]
                                },
                                {
                                    '{http://www.smpte-ra.org/reg/2003/2012}RGBAComponent': [
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}Code': 'CompNull'
                                        },
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}ComponentSize': '0'
                                        },
                                    ]
                                },
                                {
                                    '{http://www.smpte-ra.org/reg/2003/2012}RGBAComponent': [
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}Code': 'CompNull'
                                        },
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}ComponentSize': '0'
                                        },
                                    ]
                                },
                                {
                                    '{http://www.smpte-ra.org/reg/2003/2012}RGBAComponent': [
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}Code': 'CompNull'
                                        },
                                        {
                                            '{http://www.smpte-ra.org/reg/2003/2012}ComponentSize': '0'
                                        },
                                    ]
                                },
                            ]
                        },
                    ]
                }
            ]
        },
        {'{http://www.smpte-ra.org/reg/335/2012}LinkedTrackID': '2'},
        {'{http://www.smpte-ra.org/reg/335/2012}SampleRate': '24000/1001'},
        {'{http://www.smpte-ra.org/reg/335/2012}EssenceLength': '67504'},
        {
            '{http://www.smpte-ra.org/reg/335/2012}ContainerFormat': 'urn:smpte:ul:060e2b34.0401010d.0d010301.020c0600'
        },
        {'{http://www.smpte-ra.org/reg/335/2012}FrameLayout': 'FullFrame'},
        {'{http://www.smpte-ra.org/reg/335/2012}StoredWidth': '3840'},
        {'{http://www.smpte-ra.org/reg/335/2012}StoredHeight': '2160'},
        {'{http://www.smpte-ra.org/reg/335/2012}SampledWidth': '3840'},
        {'{http://www.smpte-ra.org/reg/335/2012}SampledHeight': '2160'},
        {'{http://www.smpte-ra.org/reg/335/2012}SampledXOffset': '0'},
        {'{http://www.smpte-ra.org/reg/335/2012}SampledYOffset': '0'},
        {'{http://www.smpte-ra.org/reg/335/2012}DisplayHeight': '2160'},
        {'{http://www.smpte-ra.org/reg/335/2012}DisplayWidth': '3840'},
        {'{http://www.smpte-ra.org/reg/335/2012}DisplayXOffset': '0'},
        {'{http://www.smpte-ra.org/reg/335/2012}DisplayYOffset': '0'},
        {'{http://www.smpte-ra.org/reg/335/2012}DisplayF2Offset': '0'},
        {'{http://www.smpte-ra.org/reg/335/2012}ImageAspectRatio': '3840/2160'},
        {
            '{http://www.smpte-ra.org/reg/335/2012}TransferCharacteristic': 'urn:smpte:ul:060e2b34.0401010d.04010101.010a0000'
        },
        {
            '{http://www.smpte-ra.org/reg/335/2012}PictureCompression': 'urn:smpte:ul:060e2b34.0401010d.04010202.03010312'
        },
        {
            '{http://www.smpte-ra.org/reg/335/2012}ColorPrimaries': 'urn:smpte:ul:060e2b34.0401010d.04010101.03060000'
        },
        {'{http://www.smpte-ra.org/reg/335/2012}ActiveWidth': '3840'},
        {'{http://www.smpte-ra.org/reg/335/2012}ActiveHeight': '2160'},
        {'{http://www.smpte-ra.org/reg/335/2012}ActiveXOffset': '0'},
        {'{http://www.smpte-ra.org/reg/335/2012}ActiveYOffset': '0'},
        {
            '{http://www.smpte-ra.org/reg/335/2012}VideoLineMap': [
                {'{http://www.smpte-ra.org/reg/2003/2012}Int32': '42'},
                {'{http://www.smpte-ra.org/reg/2003/2012}Int32': '0'},
            ]
        },
        {
            '{http://www.smpte-ra.org/reg/335/2012}MasteringDisplayPrimaries': [
                {
                    '{http://www.smpte-ra.org/reg/2003/2012}ColorPrimary': [
                        {'{http://www.smpte-ra.org/reg/2003/2012}X': '34000'},
                        {'{http://www.smpte-ra.org/reg/2003/2012}Y': '16000'},
                    ]
                },
                {
                    '{http://www.smpte-ra.org/reg/2003/2012}ColorPrimary': [
                        {'{http://www.smpte-ra.org/reg/2003/2012}X': '13250'},
                        {'{http://www.smpte-ra.org/reg/2003/2012}Y': '34500'},
                    ]
                },
                {
                    '{http://www.smpte-ra.org/reg/2003/2012}ColorPrimary': [
                        {'{http://www.smpte-ra.org/reg/2003/2012}X': '7500'},
                        {'{http://www.smpte-ra.org/reg/2003/2012}Y': '3000'},
                    ]
                },
            ]
        },
        {
            '{http://www.smpte-ra.org/reg/335/2012}MasteringDisplayWhitePointChromaticity': [
                {'{http://www.smpte-ra.org/reg/2003/2012}X': '15635'},
                {'{http://www.smpte-ra.org/reg/2003/2012}Y': '16450'},
            ]
        },
        {
            '{http://www.smpte-ra.org/reg/335/2012}MasteringDisplayMaximumLuminance': '10000000'
        },
        {
            '{http://www.smpte-ra.org/reg/335/2012}MasteringDisplayMinimumLuminance': '50'
        },
        {'{http://www.smpte-ra.org/reg/335/2012}ComponentMaxRef': '4095'},
        {'{http://www.smpte-ra.org/reg/335/2012}ComponentMinRef': '0'},
        {
            '{http://www.smpte-ra.org/reg/335/2012}ScanningDirection': 'ScanningDirection_LeftToRightTopToBottom'
        },
        {
            '{http://www.smpte-ra.org/reg/335/2012}PixelLayout': [
                {
                    '{http://www.smpte-ra.org/reg/2003/2012}RGBAComponent': [
                        {'{http://www.smpte-ra.org/reg/2003/2012}Code': 'CompRed'},
                        {'{http://www.smpte-ra.org/reg/2003/2012}ComponentSize': '12'},
                    ]
                },
                {
                    '{http://www.smpte-ra.org/reg/2003/2012}RGBAComponent': [
                        {'{http://www.smpte-ra.org/reg/2003/2012}Code': 'CompGreen'},
                        {'{http://www.smpte-ra.org/reg/2003/2012}ComponentSize': '12'},
                    ]
                },
                {
                    '{http://www.smpte-ra.org/reg/2003/2012}RGBAComponent': [
                        {'{http://www.smpte-ra.org/reg/2003/2012}Code': 'CompBlue'},
                        {'{http://www.smpte-ra.org/reg/2003/2012}ComponentSize': '12'},
                    ]
                },
                {
                    '{http://www.smpte-ra.org/reg/2003/2012}RGBAComponent': [
                        {'{http://www.smpte-ra.org/reg/2003/2012}Code': 'CompNull'},
                        {'{http://www.smpte-ra.org/reg/2003/2012}ComponentSize': '0'},
                    ]
                },
                {
                    '{http://www.smpte-ra.org/reg/2003/2012}RGBAComponent': [
                        {'{http://www.smpte-ra.org/reg/2003/2012}Code': 'CompNull'},
                        {'{http://www.smpte-ra.org/reg/2003/2012}ComponentSize': '0'},
                    ]
                },
                {
                    '{http://www.smpte-ra.org/reg/2003/2012}RGBAComponent': [
                        {'{http://www.smpte-ra.org/reg/2003/2012}Code': 'CompNull'},
                        {'{http://www.smpte-ra.org/reg/2003/2012}ComponentSize': '0'},
                    ]
                },
                {
                    '{http://www.smpte-ra.org/reg/2003/2012}RGBAComponent': [
                        {'{http://www.smpte-ra.org/reg/2003/2012}Code': 'CompNull'},
                        {'{http://www.smpte-ra.org/reg/2003/2012}ComponentSize': '0'},
                    ]
                },
                {
                    '{http://www.smpte-ra.org/reg/2003/2012}RGBAComponent': [
                        {'{http://www.smpte-ra.org/reg/2003/2012}Code': 'CompNull'},
                        {'{http://www.smpte-ra.org/reg/2003/2012}ComponentSize': '0'},
                    ]
                },
            ]
        },
    ]
}

我试图用objectify.E工厂方法将上述词典打包成一个新的objectify.ObjectifiedElement。以下是我的非功能性尝试:

def dict_to_element(d: Dict) -> objectify.ObjectifiedElement:
    return objectify.E(
        next(iter(d.keys())), *map(objectify.E(tag, value) for tag, value in d)
    )

由于递归的层次性,这个问题的解决方案对我来说有点难以捉摸。对新鲜的眼睛来说可能相对简单。你知道吗


Tags: orgnonehttpwwwcoderegraurn