次のコードを使用して、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();
...しかし、実際の XML ファイルの URL が最初の行に読み込まれることを期待しています。私の XML ファイルは本質的に「タグ」変数であり、実際の XML ファイルではありません。だから私が置き換えるとき:
XPathDocument document = new XPathDocument("file.xml");
...と:
XPathDocument document = new XPathDocument(tags);
...それはただのエラーです。