ЗМІСТ
основи XmlDataSource
- DataFile - вказує файл, який містить XML-дані, до яких буде здійснено доступ. Це може бути локальний файл
Якщо у вас немає XML-даних або XSLT збережених у файлі, ви можете вказати необроблений XML або XSLT безпосередньо з властивостей Data і Transform елемента XmlDataSource. Дані властивості неможливо встановити за допомогою майстра настройки джерела даних (Configure Data Source), але замість цього можуть бути встановлені через вікно властивостей Properties. (Натисніть на елемент XmlDataSource в режимі дизайнера (Designer) і потім натисніть F4.)
- XPath ( "xpath") - здійснює доступ до конкретного значення. Для того, щоб отримати таке значення вузла просто пошліться на вузол в xpath; для атрибута поставте спочатку імені @.
- XPathSelect ( "xpath") - повертає набір вузлів; може бути використана для прив'язки набору вузлів до вкладеному елементу управління даними.
Приклад 1: Відображення RSS 2.0 стрічки в DataList
RSS -стрічка може мати такий вигляд:
Далі додайте DataList і налаштуйте його ItemTemplate на відображення елементів
Зауважте як використовується синтаксис <# XPath("xpath") %> для отримання конкретного значення з поточного вузла прив'язаного до DataList. Оскільки DataList прив'язаний до набору вузлів
Приклад 2: Прив'язуємо набір вузлів до вкладеному елементу управління даними
Метод XPath ( "xpath") дозволяє нам прив'язати конкретне значення з поточного XML-вузла, але якщо нам потрібно отримати повний набір вузлів і прив'язати його до вкладеному елементу управління, то метод XPathSelect ( "xpath") надає цю обмежену функціональність. Для того, щоб продемонструвати даний метод у використанні ми створили приклад, який відображає квитанцію покупки користувача, де детальна інформація покупки відображена в XML-форматі. У додатку до даної статті ви знайдете файл названий PO.xml в каталозі проекту App_Data. Даний XML-файл містить інформацію про один замовленні, і має наступну структуру:
Для того щоб відобразити квитанцію, нам необхідно відобразити інформацію клієнта, загальну суму, податок і набір замовлених товарів. Оскільки там може бути змінне число елементів, це найкраще відображати за допомогою вкладеного елемента управління даними, який прив'язаний до набору вузлів
Для відображення інформації про клієнта і деталі платежу, додайте FormView і прив'яжіть його до нового елементу XmlDataSource. чиє властивість DataFile встановлено в
/App_Data/PO.xml. Не хвилюйтеся щодо того, що необхідно налаштувати властивість XPath. Далі, в ItemTemplate FormView використовуйте метод XPath ( "xpath") для відображення інформації клієнта і деталі платежу:
Оскільки елемент управління XmlDataSource не має вказаного значення XPath. до FormView прив'язаний вузол
Вищевказаний синтаксис прив'язки даних відображає інформацію про клієнта і ціною в FormView. Нам все ще необхідно відобразити набір
ASP.NET 2.0 пропонує кілька елементів управління для роботи з даними різного типу. Наприклад, елемент SqlDataSource розроблений для роботи з інформацією в реляційної базі даних. Як ми вже побачили в даній статті, для роботи з XML-даними використовується елемент XmlDataSource. Елемент управління XmlDataSource може здійснювати доступ до локальних або віддалених XML-файлів, або може привласнити необроблену XML-інформацію властивості Data. Також існують опціональні властивості TransformFile і XPath, які можуть бути налаштовані на перетворення або фільтрацію вмісту XML даних.
Як тільки ви налаштуєте елемент XmlDataSource він може бути прив'язаний до елементу управління даними. XML-вміст, повернене елементом управління XmlDataSource, може бути отримано в якості скалярних значень за допомогою XPath ( "xpath") або в якості наборів вузлів за допомогою XPathSelect ( "xpath"). Розгляньте додаток, доступне в кінці цієї статті для отримання більш докладної інформації про код розглянутих прикладів.