import xmltok expected = [ ("PI", "xml"), ("ATTR", ("", "version"), "1.0"), ("START_TAG", ("s", "Envelope")), ("ATTR", ("xmlns", "s"), "http://schemas.xmlsoap.org/soap/envelope/"), ("ATTR", ("s", "encodingStyle"), "http://schemas.xmlsoap.org/soap/encoding/"), ("START_TAG", ("s", "Body")), ("START_TAG", ("u", "GetConnectionTypeInfo")), ("ATTR", ("xmlns", "u"), "urn:schemas-upnp-org:service:WANIPConnection:1"), ("TEXT", "foo bar\n baz\n \n"), ("END_TAG", ("u", "GetConnectionTypeInfo")), ("END_TAG", ("s", "Body")), ("END_TAG", ("s", "Envelope")), ] dir = "." if "/" in __file__: dir = __file__.rsplit("/", 1)[0] ex = iter(expected) for i in xmltok.tokenize(open(dir + "/test.xml")): # print(i) assert i == next(ex)