Отримання xml-даних за допомогою xmldatasource в 2

ЗМІСТ

основи XmlDataSource

  • DataFile - вказує файл, який містить XML-дані, до яких буде здійснено доступ. Це може бути локальний файл

Якщо у вас немає XML-даних або XSLT збережених у файлі, ви можете вказати необроблений XML або XSLT безпосередньо з властивостей Data і Transform елемента XmlDataSource. Дані властивості неможливо встановити за допомогою майстра настройки джерела даних (Configure Data Source), але замість цього можуть бути встановлені через вікно властивостей Properties. (Натисніть на елемент XmlDataSource в режимі дизайнера (Designer) і потім натисніть F4.)

  • XPath ( "xpath") - здійснює доступ до конкретного значення. Для того, щоб отримати таке значення вузла просто пошліться на вузол в xpath; для атрибута поставте спочатку імені @.
  • XPathSelect ( "xpath") - повертає набір вузлів; може бути використана для прив'язки набору вузлів до вкладеному елементу управління даними.
Перераховані вище вираження прив'язки даних повинні бути представлені в межах шаблонів. Для таких елементів управління, як GridView і DetailsView. які складені з полів (як BoundFields, CheckBoxFields і т.д.), використовуйте TemplateFields для кожного поля, яке ви хочете відобразити.

Приклад 1: Відображення RSS 2.0 стрічки в DataList

RSS -стрічка може мати такий вигляд:

Далі додайте DataList і налаштуйте його ItemTemplate на відображення елементів , <description> і <pubDate><link>). Наступна розмітка виконує це: кожного елемента вмісту, також з посиланням для читання вмісту (за допомогою значення елемента</p> <p>Зауважте як використовується синтаксис <# XPath("xpath") %> для отримання конкретного значення з поточного вузла прив'язаного до DataList. Оскільки DataList прив'язаний до набору вузлів <item>, <%# XPath("link") %> поверне значення поточного елемента <link> вузла <item>.</p> <h2>Приклад 2: Прив'язуємо набір вузлів до вкладеному елементу управління даними</h2> <p>Метод XPath ( "xpath") дозволяє нам прив'язати конкретне значення з поточного XML-вузла, але якщо нам потрібно отримати повний набір вузлів і прив'язати його до вкладеному елементу управління, то метод XPathSelect ( "xpath") надає цю обмежену функціональність. Для того, щоб продемонструвати даний метод у використанні ми створили приклад, який відображає квитанцію покупки користувача, де детальна інформація покупки відображена в XML-форматі. У додатку до даної статті ви знайдете файл названий PO.xml в каталозі проекту App_Data. Даний XML-файл містить інформацію про один замовленні, і має наступну структуру:</p><p>Для того щоб відобразити квитанцію, нам необхідно відобразити інформацію клієнта, загальну суму, податок і набір замовлених товарів. Оскільки там може бути змінне число елементів, це найкраще відображати за допомогою вкладеного елемента управління даними, який прив'язаний до набору вузлів <Item>.</p> <p>Для відображення інформації про клієнта і деталі платежу, додайте FormView і прив'яжіть його до нового елементу XmlDataSource. чиє властивість DataFile встановлено в</p> <p>/App_Data/PO.xml. Не хвилюйтеся щодо того, що необхідно налаштувати властивість XPath. Далі, в ItemTemplate FormView використовуйте метод XPath ( "xpath") для відображення інформації клієнта і деталі платежу:</p> <p>Оскільки елемент управління XmlDataSource не має вказаного значення XPath. до FormView прив'язаний вузол <Order>. Отже, для отримання значення елемента <Name> з вузла <Customer> нам необхідно вжити вислів XPath / Order / Customer / Name. Для того щоб отримати значення атрибуту - orderDate, атрибут в елементі <Order> - додайте до початку назви @ (тобто / Order / @ orderDate).</p> <p>Вищевказаний синтаксис прив'язки даних відображає інформацію про клієнта і ціною в FormView. Нам все ще необхідно відобразити набір <Item>. Для виконання цього додайте елемент GridView в межах ItemTemplateDataSource набір вузлів <Item> за допомогою наступного синтаксису: <asp:GridView runat="server". DataSource='<# XPathSelect("/Order/Manifest/Item") %>'.>. Далі, в розділі GridView <Columns> додайте TemplateField для кожного з пунктів: FormView і надайте його властивості</p> <p>ASP.NET 2.0 пропонує кілька елементів управління для роботи з даними різного типу. Наприклад, елемент SqlDataSource розроблений для роботи з інформацією в реляційної базі даних. Як ми вже побачили в даній статті, для роботи з XML-даними використовується елемент XmlDataSource. Елемент управління XmlDataSource може здійснювати доступ до локальних або віддалених XML-файлів, або може привласнити необроблену XML-інформацію властивості Data. Також існують опціональні властивості TransformFile і XPath, які можуть бути налаштовані на перетворення або фільтрацію вмісту XML даних.</p> <p>Як тільки ви налаштуєте елемент XmlDataSource він може бути прив'язаний до елементу управління даними. XML-вміст, повернене елементом управління XmlDataSource, може бути отримано в якості скалярних значень за допомогою XPath ( "xpath") або в якості наборів вузлів за допомогою XPathSelect ( "xpath"). Розгляньте додаток, доступне в кінці цієї статті для отримання більш докладної інформації про код розглянутих прикладів.</p> <h4>Схожі статті</h4> <ul> <li> <p><a href="/articles/prichini-vidmovi-v-otrimanni-gromadjanstva-rosii.php">Причини відмови в отриманні громадянства Росії, допомога в отриманні російського громадянства</a></p> </li> <li> <p><a href="/articles/avtokredit-dopomoga-v-otrimannja-kreditu-na-avto.php">Автокредит - допомога в отримання кредиту на авто без довідок, avtopro</a></p> </li> </ul> </div> </article> </div> </div> </div> <footer class="igrzom-footer clearfix"> <p>Copyright © 2024<br></p> </footer> </div> </div></body> </html>