Obținerea datelor xml cu xmldatasource în 2

CUPRINS

XmlDataSource Noțiuni de bază

  • DataFile - Specifică fișierul care conține datele XML care vor fi accesate. Acesta poate fi un fișier local

Dacă nu aveți XML sau XSLT datele stocate în fișierul, puteți specifica XML brută sau XSLT direct din proprietățile datelor și pentru a transforma elementul XmlDataSource. Aceste proprietăți nu pot fi setate de expertul Configurare sursă de date, dar pot fi setate prin fereastra Proprietăți. (faceți clic pe elementul XmlDataSource în modul Designer și apoi apăsați F4.)







  • XPath ("xpath") - Accesează o valoare specifică. Pentru a obține valoarea nodului următor, pur și simplu se referă la nodul din xpath; pentru atributul, numele de familie @.
  • XPathSelect ("xpath") - returnează un set de noduri; poate fi folosit pentru a lega un set de noduri de un control imbricat al datelor.
Expresiile de legare a datelor de mai sus trebuie să fie prezente în șabloane. Pentru controale cum ar fi GridView și DetailsView. care sunt compuse din domenii (ca BoundFields, CheckBoxFields, etc), utilizați TemplateFields pentru fiecare domeniu pe care doriți să afișați.

Exemplul 1: Afișarea unei casete RSS 2.0 într-un catalog de date

RSS-bandă poate avea următorul format:

Apoi, adăugați un DateList și configurați ItemTemplate pentru a afișa elementele , <description> și <pubDate><link>). Următorul marcaj face acest lucru: fiecare element de conținut, de asemenea, cu un link pentru a citi conținutul (utilizând valoarea elementului</p> <p>Observați cum este folosită sintaxa <# XPath("xpath") %> pentru a obține o valoare specifică de la nodul curent legat la DataList. Deoarece lista de date este legată de un set de noduri <item>, <%# XPath("link") %> va returna valoarea elementului curent <link> gazdă <item>.</p> <h2>Exemplul 2: Asocierea unui set de noduri cu un control de date imbricat</h2> <p>XPath ( „xpath“) metoda ne permite să atașați o anumită valoare a curentului XML-nod, dar dacă avem nevoie pentru a obține un set complet de componente și se leagă-l la controalele imbricate, metoda XPathSelect ( „xpath“) oferă această funcționalitate. Pentru a demonstra această metodă de a utiliza, am creat un exemplu care arată utilizatorului o chitanță de cumpărare, în cazul în care se afișează informațiile detaliate în achiziționarea unui format XML. În apendicele la acest articol veți găsi un fișier numit PO.xml în directorul de proiect App_Data. Acest fișier XML conține informații despre o comandă și are următoarea structură:</p><br> <br> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-8686842323494376" data-ad-slot="9763162049" data-ad-format="auto"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <br> <br> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-8686842323494376" data-ad-slot="2447347631" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <br> <br><p>Pentru a afișa chitanța, trebuie să afișăm informațiile despre client, suma totală, taxa și un set de bunuri comandate. Deoarece poate exista un număr variabil de elemente, acesta este cel mai bine afișat utilizând un control de date imbricat care este legat de un set de noduri <Item>.</p> <p>Pentru a afișa informațiile despre clienți și detaliile de plată, adăugați FormView și le legați la noul element XmlDataSource. a cărui proprietate DataFile este setată la</p> <p>/App_Data/PO.xml. Nu vă faceți griji cu privire la configurarea proprietății XPath. Apoi, în ItemTemplate FormView, utilizați metoda XPath ("xpath") pentru a afișa informațiile despre client și detaliile de plată:</p> <p>Deoarece controlul XmlDataSource nu are valoarea XPath specificată. un nod este atașat la FormView <Order>. Prin urmare, pentru a obține valoarea elementului <Name> de la nod <Customer> trebuie să folosim expresia XPath / Order / Customer / Name. Pentru a obține valoarea atributului - orderDate, atributul din element <Order> - adaugă @ la începutul numelui (de exemplu / Order / @ dateData).</p> <p>Sintaxa de legare a datelor de mai sus afișează informații despre client și prețul din FormView. Încă mai trebuie să afișăm setul <Item>. Pentru a face acest lucru, adăugați un element GridView în setul de noduri ItemTemplateDataSource <Item> utilizând următoarea sintaxă: <asp:GridView runat="server". DataSource='<# XPathSelect("/Order/Manifest/Item") %>“.>. Apoi, în secțiunea GridView <Columns> adăugați un TemplateField pentru fiecare dintre elementele: FormView și alocați-o proprietății</p> <p>ASP.NET 2.0 oferă mai multe controale pentru a lucra cu date de diferite tipuri. De exemplu, elementul SqlDataSource este proiectat să funcționeze cu informații într-o bază de date relațională. Așa cum am văzut în acest articol, vom folosi elementul XmlDataSource pentru a lucra cu date XML. Controlul XmlDataSource poate accesa fișiere XML locale sau la distanță, sau poate atribui informații XML brute proprietății Date. Există, de asemenea, proprietăți opționale TransformFile și XPath care pot fi configurate pentru a converti sau filtra conținutul datelor XML.</p> <p>Odată ce configurați elementul XmlDataSource, acesta poate fi legat de un control de date. XML conținutul returnat XmlDataSource control, acesta poate fi obținut ca o valoare scalară folosind XPath ( „xpath“) sau ca un set de noduri folosind XPathSelect ( „xpath“). Luați în considerare cererea disponibilă la sfârșitul acestui articol pentru mai multe informații despre codul exemplelor examinate.</p> <br> <br> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-8686842323494376" data-ad-slot="8576168847" data-ad-format="auto"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <br> <br> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:inline-block;width:300px;height:600px" data-ad-client="ca-pub-8686842323494376" data-ad-slot="9162386769"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <br> <br><h4>Articole similare</h4> <ul> <li> <p><a href="/utilizator-212/motive-pentru-refuzul-de-a-obtine-cetatenia-rusa.html">Motive pentru refuzul de a obține cetățenia rusă, asistență în obținerea cetățeniei ruse</a></p> </li> <li> <p><a href="/utilizator-212/masina-de-imprumut-ajutor-in-obtinerea-unui.html">Masina de împrumut - ajutor în obținerea unui împrumut pe o mașină fără un certificat, avtopro</a></p> </li> </ul> <div class="vnizine"><p style="text-align: left;"><a href="/utilizator-212/vibrator-simetric-cu-jumatate-de-unda.html">Pagina anterioară</a></p><p style="text-align: right;"><a href="/utilizator-212/vindem-tort-sau-cum-sa-recuceram-nunta.html">Pagina următoare</a></p> </div> <h3>Trimiteți-le prietenilor:</h3> <p> <script type="text/javascript">(function(w,doc) { if (!w.__utlWdgt ) { w.__utlWdgt = true; var d = doc, s = d.createElement('script'), g = 'getElementsByTagName'; s.type = 'text/javascript'; s.charset='UTF-8'; s.async = true; s.src = ('https:' == w.location.protocol ? 'https' : 'http') + '://w.uptolike.com/widgets/v1/uptolike.js'; var h=d[g]('body')[0]; h.appendChild(s); }})(window,document); </script> <div data-mobile-view="true" data-share-size="40" data-like-text-enable="false" data-background-alpha="0.0" data-pid="1771468" data-mode="share" data-background-color="#ffffff" data-share-shape="round-rectangle" data-share-counter-size="12" data-icon-color="#ffffff" data-mobile-sn-ids="fb.tw.wh.vb.ps.gp." data-text-color="#000000" data-buttons-color="#FFFFFF" data-counter-background-color="#ffffff" data-share-counter-type="disable" data-orientation="horizontal" data-following-enable="false" data-sn-ids="fb.tw.ps.gp.ms.bl.gt." data-preview-mobile="false" data-selection-enable="false" data-exclude-show-more="true" data-share-style="1" data-counter-background-alpha="1.0" data-top-button="true" class="uptolike-buttons" ></div> </p> </article> </div> </div> </div> </div><footer class="akatita-footer clearfix"> <div class="akatita-content-layout layout-item-0"> <div class="akatita-content-layout-row"> <div class="akatita-layout-cell layout-item-1" style="width: 20%"> <p style="font-size: 18px; font-family: 'Times New Roman';">Articole aleatoare</p> <br> <ul> <li><a href="/utilizator-172/repararea-plafonului.html">Repararea plafonului</a></li> <li><a href="/utilizator-209/traducere-de-traducere-in-engleza-exemple.html">Traducere de traducere în engleză, exemple, transcriere, pronunție</a></li> <li><a href="/utilizator-161/masca-pentru-par-din-iaurt-si-ulei-de-masline.html">Mască pentru păr din iaurt și ulei de măsline</a></li> <li><a href="/utilizator-191/chavo-de-gat-amniotic-prin-degete.html">Chavo de gât amniotic, prin degete</a></li> <li><a href="/utilizator-162/cum-sa-eliminati-programele-care-nu-se-afla-in.html">Cum să eliminați programele care nu se află în lista de programe din panoul de control</a></li> </ul> </div><div class="akatita-layout-cell layout-item-1" style="width: 20%"> <p style="font-size: 18px; font-family: 'Times New Roman';">locație</p> <br> <ul> <li><a href="/locul-pe-harta.html">Suntem pe hartă</a></li> <li><a href="/adresa.html">Adresa</a></li> </ul> <ol> <li><a href="/sitemap/sitemap69.html">sitemap</a></li> <li><a href="/sitemap/sitemap173.html">sitemap</a></li> <li><a href="/sitemap/sitemap209.html">sitemap</a></li> <li><a href="/sitemap/sitemap262.html">sitemap</a></li> <li><a href="/sitemap/sitemap429.html">sitemap</a></li> </ol> </div><div class="akatita-layout-cell layout-item-1" style="width: 20%"> <p style="font-size: 18px; font-family: 'Times New Roman';">Mai multe despre noi</p> <br> <ul> <li><a href="/contactati-ne.html">Contactați-ne</a></li> <li><a href="/despre-site.html">Despre site</a></li></ul> </ul> </div><div class="akatita-layout-cell layout-item-1" style="width: 40%"> <p style="text-align:right;"><a href="#"></a>Drepturi de autor © 2024. Toate drepturile rezervate.</p><br> <p style="text-align: right;"> <!--LiveInternet counter--><script type="text/javascript"> document.write("<a href='//www.liveinternet.ru/click' "+ "target=_blank><img src='//counter.yadro.ru/hit?t40.6;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+ ";h"+escape(document.title.substring(0,150))+";"+Math.random()+ "' alt='' title='LiveInternet' "+ "border='0' width='31' height='31'><\/a>") </script><!--/LiveInternet--> </p> </div> </div> </div> </footer> </div> </div></body> </html>