首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用XPathNodeIterator获取节点的值

使用XPathNodeIterator获取节点的值
EN

Stack Overflow用户
提问于 2014-01-16 10:36:04
回答 2查看 334关注 0票数 1

首先,如果这个问题在其他地方得到了回答,我很抱歉(我已经搜索过了!)但是我第一次在Umbraco上使用了xPathNodeIterator。

基本上,我已经创建了一个xPath复选框列表,并试图获取所选内容的值。我所拥有的(这是我第一次使用这个,所以大部分我都复制了鹦鹉的风格)

代码语言:javascript
复制
XPathNodeIterator n = umbraco.library.GetXmlNodeById(myNode.Id.ToString());
while (n.MoveNext())
{
    litSpeakers.Text += n.Current.InnerXml;
}

这将返回节点内容中的所有内容,但我只是试图获取XPath Checkboxlist (称为xpather)的值。

这是我第一次使用这个,而且我毫无头绪!!所以如果有人能帮忙那就太神奇了。

谢谢,克雷格

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-20 14:57:09

嗨,谢谢你的回复。

我“解决”问题的方式是(其中的“扬声器”是xpath复选框列表的名称)

代码语言:javascript
复制
        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/>";
        }
票数 0
EN

Stack Overflow用户

发布于 2014-01-16 15:42:46

我还没有测试过它,但是它应该会给您一个指针,复选框可以使用不同的'truthy‘值,但是我假设您选中的值是" checked“,而不是其他的:

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21159307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档