def test_get_node(): """Test getting node from XML string with namespaces.""" body = """ <OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"> <ListRecords xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"> <record> <metadata> <slim:record xmlns:slim="http://www.loc.gov/MARC21/slim" type="Bibliographic"> <slim:datafield>This is the record.</slim:datafield> </slim:record> </metadata> </record> </ListRecords> """ namespaces = [ ("OAI-PMH", "http://www.openarchives.org/OAI/2.0/"), ("slim", "http://www.loc.gov/MARC21/slim"), ] node = get_node(text=body, namespaces=namespaces) record = node.xpath("//slim:record/slim:datafield/text()").extract_first() assert node assert record == "This is the record."