powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Xpath в XmlDataSource
4 сообщений из 4, страница 1 из 1
Xpath в XmlDataSource
    #34040129
aliGaRch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я отбражаю xml файл с помощью XmlDataSource в GridView (может это и некорректно сфармулированно но надеюсь что меня поняли), но у меня никак не получается сделать поиск(вывод по маске или что-то в этор роде). В XmlDataSource есть такое свойство как XPath expression. Предполагаю что что там можно задавать по какой маске выводить, но пока у меня ничего не получается:(. Самостоятельный поиск инфы по этому вопросу результата не дал. Подскажите плиз как это делать. Есть вариант с xsl, но мне бы хотелось использовать возможности GridView, т.к. оне мне уже немного знакомы. Заранее благодарен.
...
Рейтинг: 0 / 0
Xpath в XmlDataSource
    #34040305
ekleiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я просто воспроизвел то, что указано в примере MSDN в разделе
XmlDataSource.XPath Property . Там дан пример для asp:Repeater и он проработал. Тогда я добавил GridView и указал ему DataSourceID="XmlSource". Тоже проработало. Вот полный текст страницы

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
  <BODY>
    <form id="Form1" runat="server">
      <asp:XmlDataSource
        id="XmlSource"
        DataFile="bookstore.xml"
        runat="server"
        XPath="bookstore/genre[@name='fiction']"/>
      <asp:Repeater ID="Repeater1"
        DataSourceID="XmlSource"
        runat="server">
          <ItemTemplate>
              <h1><%# XPath ("book/title") %></h1>
              <b>Price:</b>
              <%# XPath ("book/price") %>
          </ItemTemplate>
      </asp:Repeater>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="XmlSource">
            <Columns>
                <asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
            </Columns>
        </asp:GridView>
    </form>
  </BODY>
</HTML>

причем bookstore.xml содержит
<?xml version="1.0" encoding="utf-8" ?>
<bookstore>
  <genre name="fiction">
    <book ISBN="0771008139">
      <title>The Handmaid's Tale</title>
      <price>12.95</price>
      <chapters>
        <chapter num="1" name="Introduction" />
        <chapter num="2" name="Body" />
        <chapter num="3" name="Conclusion" />
      </chapters>
    </book>
  </genre>
  <genre name="novel">
    <book genre="novel" ISBN="0192100262">
      <title>Pride and Prejudice</title>
      <price>24.95</price>
      <chapters>
        <chapter num="1" name="Introduction" />
        <chapter num="2" name="Body" />
        <chapter num="3" name="Conclusion" />
      </chapters>
    </book>
  </genre>
</bookstore>
Результат (source):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
  <BODY>
    <form name="Form1" method="post" action="Default.aspx" id="Form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTE2MTExNzQ1NA9kFgICAQ9kFgQCAw8WAh4LXyFJdGVtQ291bnQCARYCZg9kFgJmDxUCE1RoZSBIYW5kbWFpZCdzIFRhbGUFMTIuOTVkAgUPPCsADQEADxYGHgtfIURhdGFCb3VuZGceCVBhZ2VDb3VudAIBHwACAWQWAmYPZBYEAgEPZBYCZg8PFgIeBFRleHQFB2ZpY3Rpb25kZAICDw8WAh4HVmlzaWJsZWhkZBgBBQlHcmlkVmlldzEPZ2S+q9Ke9ZxpQw5N/4ethkvXI50SAw==" />
</div>
     
     
              <h1>The Handmaid's Tale</h1>
              <b>Price:</b>
              12.95
         
        <div>
 <table cellspacing="0" rules="all" border="1" id="GridView1" style="border-collapse:collapse;">
  <tr>
   <th scope="col">name</th>
  </tr><tr>
   <td>fiction</td>
  </tr>
 </table>
</div>
    </form>
  </BODY>
</HTML>
...
Рейтинг: 0 / 0
Xpath в XmlDataSource
    #34041805
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо все работает тока XPath="bookstore/genre[@name='fiction']" сработает только если все name состоит только из fiction, а мне нужно чтобы срабатывало если name содержит fiction. Подскажите плиззз где посматреть или напишите. Заранее благодарен.
...
Рейтинг: 0 / 0
Xpath в XmlDataSource
    #34042189
algol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Аноним, Вы писали:

А>Большое спасибо все работает тока XPath="bookstore/genre[@name='fiction']" сработает только если все name состоит только из fiction, а мне нужно чтобы срабатывало если name содержит fiction. Подскажите плиззз где посматреть или напишите. Заранее благодарен.

"bookstore/genre[contains(@name,'fiction')]"
Смотреть XPath functions.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Xpath в XmlDataSource
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]