Esempio n. 1
0
 def test_get_element_xml(self):
     """
     获取一个节点内容
     :return:
     """
     xml_content = '''<root name="hello world"><element>hello</element></root>'''
     xml = CXml()
     xml.load_xml(xml_content)
     assert CXml.get_element_xml(xml.root_element()) == xml_content
Esempio n. 2
0
 def test_clone(self):
     """
     根据给定的xml节点, 深度克隆节点的全部内容, 创建一个新的节点
     :return:
     """
     xml = CXml()
     xml_comment = '''<root name="hello world"><element>hello</element></root>'''
     xml.load_xml(xml_comment)
     element = CXml.clone(xml.root_element())
     assert CXml.get_element_xml(element) == xml_comment
Esempio n. 3
0
 def test_xpath(self):
     """
     根据给定的xpath查询语句, 查询出合适的节点
     :return:
     """
     xml = CXml()
     xml_comment = u'<root name="hello world"><element name="zg">hello</element></root>'
     xml.load_xml(xml_comment)
     xmlString = xml.to_xml()
     result = xml.xpath_one('./element')
     assert CXml.get_element_xml(result) == '<element name="zg">hello</element>'
Esempio n. 4
0
 def test_get_tree(self):
     """
     获取节点所在的树对象
     :return:
     """
     xml_content = '''<root name="hello world"><element>hello</element></root>'''
     xml = CXml()
     xml.load_xml(xml_content)
     element = xml.root_element()
     tree = CXml.get_element_tree(element)
     assert CXml.get_element_xml(tree) == xml_content
Esempio n. 5
0
 def test_get_element_root(self):
     """
     获取节点的根节点
     :return:
     """
     xml_content = '''<root name="hello world"><element>hello</element></root>'''
     xml = CXml()
     xml.load_xml(xml_content)
     element = xml.root_element()
     rt = CXml.get_element_root(element)
     assert CXml.get_element_xml(rt) == xml_content
Esempio n. 6
0
 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>'
Esempio n. 7
0
 def test_set_attr(self):
     """
     设置一个节点的属性
     :return:
     """
     xml_content = '''<root name="hello world"></root>'''
     xml = CXml()
     xml.load_xml(xml_content)
     element = xml.xpath_one('/root')
     CXml.set_attr(element, 'name', 'championing')
     assert CXml.get_element_xml(element) == '<root name="championing"/>'
Esempio n. 8
0
 def test_append(self):
     """
     将一个子节点加入到指定节点下
     :return:
     """
     xml_content = '''<root name="hello world"></root>'''
     xml = CXml()
     xml.load_xml(xml_content)
     child_element = etree.Element('train', name='wing')
     element = xml.root_element()
     CXml.append(element, child_element)
     assert CXml.get_element_xml(element) == '<root name="hello world"><train name="wing"/></root>'
Esempio n. 9
0
 def test_creat_element(self):
     """
     在一个节点下创建一个新节点
     :return:
     """
     xml_content = '''
         <root name="hello world"><element name="hello"></element></root>
         '''
     xml = CXml()
     xml.load_xml(xml_content)
     element = xml.root_element()
     CXml.create_element(element, "element1")
     assert CXml.get_element_xml(element) == '<root name="hello world"><element name="hello"/><element1/></root>'