def metadata_bus_2_params(self, metadata_xml: CXml, params: dict): metadata_list = metadata_xml.xpath('{0}/*'.format( self.Path_MD_Bus_Root)) for metadata_item in metadata_list: metadata_item_name = CXml.get_element_name( metadata_item).lower().strip() metadata_item_value = CXml.get_element_text( metadata_item).lower().strip() params[metadata_item_name] = metadata_item_value
def test_is_element_comment(self): """ 判断一个节点是否是备注 """ xml_content = '''<root name="hello world"><element>hello</element></root>''' xml = CXml() xml.load_xml(xml_content) element = xml.xpath('/root/element')[0] flag = xml.is_element_comment(element) assert flag is False
def test_element_attr_exist(self): """ 设置一个节点的文本 :return: """ xml_content = '''<root name="hello world"><element hello="中国"></element><element hello="美国"></element></root>''' xml = CXml() xml.load_xml(xml_content) element = xml.xpath('/root/element')[1] assert CXml.attr_exist(element, 'hello', False)
def test_get_element_name(self): """ 获取节点的名称 :return: """ xml_content = '''<root name="hello world"><element>hello</element></root>''' xml = CXml() xml.load_xml(xml_content) element = xml.xpath('/root/element')[0] name = CXml.get_element_name(element) assert name == 'element'
def test_get_element_text(self): """ 获取一个节点的文本 :return: """ xml_content = '''<root name="hello world"><element>world</element></root>''' xml = CXml() xml.load_xml(xml_content) element = xml.xpath('/root/element')[0] text = CXml.get_element_text(element) assert text == 'world'
def test_set_element_text(self): """ 设置一个节点的文本 :return: """ xml_content = '''<root name="hello world"></root>''' xml = CXml() xml.load_xml(xml_content) element = xml.xpath('/root')[0] CXml.set_element_text(element, 'hello') assert CXml.get_element_xml(element) == '<root name="hello world"><![CDATA[hello]]></root>'
def test_get_attr(self): """ 获取一个属性的值, 如果属性不存在, 则返回默认值 :return: """ xml_content = '''<root name="hello world"><element hello="中国"></element><element hello="美国"></element></root>''' xml = CXml() xml.load_xml(xml_content) element = xml.xpath('/root/element')[1] value = CXml.get_attr(element, 'Hello', "null") assert value == '美国'