首先,如果这个问题在其他地方得到了回答,我很抱歉(我已经搜索过了!)但是我第一次在Umbraco上使用了xPathNodeIterator。
基本上,我已经创建了一个xPath复选框列表,并试图获取所选内容的值。我所拥有的(这是我第一次使用这个,所以大部分我都复制了鹦鹉的风格)
XPathNodeIterator n = umbraco.library.GetXmlNodeById(myNode.Id.ToString());
while (n.MoveNext())
{
litSpeakers.Text += n.Current.InnerXml;
}这将返回节点内容中的所有内容,但我只是试图获取XPath Checkboxlist (称为xpather)的值。
这是我第一次使用这个,而且我毫无头绪!!所以如果有人能帮忙那就太神奇了。
谢谢,克雷格
发布于 2014-01-20 14:57:09
嗨,谢谢你的回复。
我“解决”问题的方式是(其中的“扬声器”是xpath复选框列表的名称)
string dataValue = myNode.GetProperty("speakers").Value.ToString();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(dataValue);
foreach (XmlNode itemnode in xmlDoc.DocumentElement)
{
litNode.Text += itemnode.InnerText;
Node myUmbracoNode = new Node(Int32.Parse(itemnode.InnerText));
litNode.Text += myUmbracoNode.Name + "<br/>";
}发布于 2014-01-16 15:42:46
我还没有测试过它,但是它应该会给您一个指针,复选框可以使用不同的'truthy‘值,但是我假设您选中的值是" checked“,而不是其他的:
List<string> checkedNodes = new List<string>();
XPathNodeIterator n = umbraco.library.GetXmlNodeById(myNode.Id.ToString());
while (n.MoveNext())
{
if (n.Current.GetAttribute("id","") == "xpather" && n.Current.GetAttribute("checked","") == "checked")
{
checkedNodes.Add("<something to identify whats been checked>");
}
}伞状图示例:http://our.umbraco.org/wiki/reference/umbracolibrary/getprevalues
https://stackoverflow.com/questions/21159307
复制相似问题