Поскольку часть ваших узлов находится в пространстве имен "http://www.loc.gov/MARC21/slim/"
, но ваш XPath ищет элементы только в пустом пространстве имен.
Чтобы исправить это, сделайте пространство имен известным вашей среде, вызвав менеджер пространства имен:
XmlNamespaceManager nsmgr = new XmlNamespaceManager(r.ResponseXmlDocument);
nsmgr.AddNamespace("marc", "http://www.loc.gov/MARC21/slim/");
string xpath = "marc:record/marc:datafield[@tag='520']/marc:subfield[@code='a']";
// ...
string information = xmlResource.SelectSingleNode(xpath).InnerText;
РЕДАКТИРОВАТЬ: Хотя, вероятно, проще просто выбрать
//marc:datafield[@tag='520']/marc:subfield[@code='a']
и избавьтесь от двухэтапного подхода, который у вас сейчас есть.