Я пытаюсь получить список тегов из определенной группы тегов в Umbraco (v4.0.2.1), используя следующий код:
var tags = umbraco.editorControls.tags.library.getAllTagsInGroup("document downloads");
Что я хочу сделать, это просто вывести список этих тегов. Однако, если я выведу переменную 'tags', он просто выведет список всех тегов в строке. Я хочу разбить каждый тег на новую строку.
Когда я проверяю тип данных переменной 'tags':
string tagType = tags.GetType().ToString();
... выводит MS.Internal.Xml.XPath.XPathSelectionIterator
.
Итак, вопрос в том, как мне получить отдельные теги из переменной 'tags'? Как мне работать с переменной этого типа данных? Я могу найти примеры того, как это сделать, загрузив реальный файл XML, но у меня нет фактического файла XML - только переменная 'tags' для работы.
Большое спасибо за любую помощь!
EDIT1 : Я предполагаю, что я спрашиваю, как мне пройти по узлам, возвращаемым типом данных XPathSelectionIterator?
EDIT2 : Я нашел этот код, который почти делает то, что мне нужно:
XPathDocument document = new XPathDocument("file.xml");
XPathNavigator navigator = document.CreateNavigator();
XPathNodeIterator nodes = navigator.Select("/tags/tag");
nodes.MoveNext();
XPathNavigator nodesNavigator = nodes.Current;
XPathNodeIterator nodesText = nodesNavigator.SelectDescendants(XPathNodeType.Text, false);
while (nodesText.MoveNext())
debugString += nodesText.Current.Value.ToString();
... но он ожидает, что URL фактического файла XML будет загружен в первую строку. Мой XML-файл по сути является переменной 'tags', а не фактическим XML-файлом. Поэтому, когда я заменяю:
XPathDocument document = new XPathDocument("file.xml");
... с
XPathDocument document = new XPathDocument(tags);
... это просто ошибки.