Помощь с XmlDataSource.XPath

#c# #xml #xpath

#c# #xml #xpath

Вопрос:

У меня есть этот простой XML:

 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<DocumentElement>
  <Schedule>
    <CATEGORY>FAMILY</CATEGORY>
    <LOCATIONS>119</LOCATIONS>
  </Schedule>
  <Schedule>
    <CATEGORY>ADULTS</CATEGORY>
    <LOCATIONS>314</LOCATIONS>
  </Schedule>
</DocumentElement>
</xml>
  

Я привязываю его к GridView через XmlDataSource. Мне нужно выбрать элементы, имеющие Category=Family. Я установил XmlDataSource.XPath для этих выражений, но они не возвращают результатов:

 /DocumentElement/Schedule[CATEGORY = 'FAMILY']
/DocumentElement/Schedule/CATEGORY[. = 'FAMILY']
  

Что я делаю не так? Знаете ли вы полезную документацию с примерами? Я действительно пытался найти один, но не смог. Действительно ценю помощь.

Ответ №1:

Ваш xml не должен быть заключен в xml-элемент. Удалите </xml> с конца.

При этом у вас должен быть действительный xml, и для этого следует выбрать элемент Schedule с элементом category, значение которого = Family:

 /DocumentElement/Schedule[CATEGORY = "FAMILY"]
  

Хороший источник примеров можно найти здесь:http://msdn.microsoft.com/en-us/library/ms256086.aspx