我用下面的代碼試圖在一把umbraco(v4.0.2.1)從一個特定的標籤組得到的標籤列表:遍歷一把umbraco getAllTagsInGroup結果
var tags = umbraco.editorControls.tags.library.getAllTagsInGroup("document downloads");
我想要做的是什麼只需輸出這些標籤的列表。但是,如果我輸出變量「標籤」,它只會輸出一個字符串中所有標籤的列表。我想將每個標籤分成一個新行。
當我檢查了 '標籤' 變量的數據類型:
string tagType = tags.GetType().ToString();
...它輸出MS.Internal.Xml.XPath.XPathSelectionIterator
。
所以問題是,我如何從'標籤'變量中獲取單個標籤?我如何使用這種數據類型的變量?我可以通過加載一個實際的XML文件找到如何實現它的例子,但我沒有一個真正的XML文件 - 只是要使用的'標籤'變量。
非常感謝您的幫助!
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();
...但它預計實際的XML文件的URL加載到第一線。我的XML文件本質上是'標籤'變量,而不是實際的XML文件。所以,當我更換:
XPathDocument document = new XPathDocument("file.xml");
...有:
XPathDocument document = new XPathDocument(tags);
...它只是錯誤。
Thanks Tomalak。我試過以下內容: \t \t \t var tags = umbraco.editorControls.tags.library.getAllTagsInGroup(「document downloads」); \t \t \t的foreach(在標籤的XPathNavigator標籤) \t \t \t { \t \t \t \t debugString + = tag.ToString()+ 「
」; \t \t \t} ,但它只是輸出的所有標籤爲一個字符串 - 它似乎並沒有通過每一個迭代,因爲它應該。 – Dan 2010-11-29 15:41:31