2014-01-16 3 views
1

Сначала извиняюсь, если этот вопрос был дан ответ в другом месте (я искал!), Но застрял с использованием xPathNodeIterator в Umbraco в первый раз.Получение значений узла с использованием XPathNodeIterator

В основном я создал контрольный список xPath, и я пытаюсь получить значения того, что было выбрано. То, что я получил (и это первый раз, когда я использовал это, так что большинство из этого я скопировал попугай моды)

XPathNodeIterator n = umbraco.library.GetXmlNodeById(myNode.Id.ToString()); 
while (n.MoveNext()) 
{ 
    litSpeakers.Text += n.Current.InnerXml; 
} 

Это возвращает мне всё, что в содержании узла, но я пытаясь просто получить значения XPath Checkboxlist (называемый xpather).

Это первый раз, когда я использовал это, и я не знаю! Поэтому, если кто-то мог помочь, это было бы волшебством.

Спасибо, Craig

ответ

0

Привет спасибо за ваш ответ.

То, как я «решил» это было (где «колонки» это название XPATH CheckBoxList)

 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

Я не проверяло это, но это должно дать вам указатель, флажки можно использовать различные «truthy» ценности, но я предполагал, извлеченные из них имеет значение «проверено», а чем-то еще:

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>"); 
    } 
} 

Umbraco пример: http://our.umbraco.org/wiki/reference/umbracolibrary/getprevalues

Смежные вопросы