Návod na vytvorenie dotazu XML s výrazu XPath pomocou Visual C#

Preklady článku Preklady článku
ID článku: 308333 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

Tento článok ukazuje ako dotaz XPathDocument objekt s výraz pomocou jazykom XML Path (XPath) XPathNavigator trieda. XPath sa používa programovo vyhodnotenia výrazov a vybrať konkrétne uzly v dokumente.

Požiadavky

Nasledujúci zoznam popisuje odporúčané hardvér, softvér, sieťovú infraštruktúru a balíky service pack, ktoré potrebujete:
  • Visual C#
Tento článok predpokladá, že ste oboznámení s nasledujúce témy:
  • Terminológia XML
  • Vytváranie a čítanie súboru XML
  • XPath syntaxe

Návod na vytvorenie dotazu XML s výrazu XPath

  1. Vytvoriť novú Visual C# konzola žiadosť v Visual Studio.

    POZNÁMKA: Tento príklad používa súbor s názvom Books.xml. Môžete vytvoriť vlastný súbor Books.xml alebo môžete použiť vzorky, ktorá je súčasťou systému.NET Software Development Kit (SDK) Quickstarts. Ak nemajú Quickstarts nainštalovaný a nechcete ich nainštalovať, nájdete v časti „odkazy"pre Books.xml download umiestnenie. Ak máte nainštalovaný Quickstarts, súbor nájdete v nasledovnom priečinku:
    Program Files\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB
    Súbor je potrebné skopírovať do priečinka \Bin\Debug, ktorý sa nachádza v priečinku, v ktorom ste vytvorili tento projekt.
  2. Uistite sa, že projekt odkazy System.XML priestor názvov.
  3. Použitie pomocou vyhlásenie o XML a XPath menné priestory tak, že nie ste povinná kvalifikovať vyhlásenia v tie priestory názvov v kóde neskôr. Musíte použiť pomocou vyhlásenie na pred všetkými ostatnými deklaráciami takto:
    using System.Xml;
    using System.Xml.XPath;
    					
  4. Vyhlásiť vhodné ukazovatele. Vyhlásiť XPathDocument objekt držať dokumentu XML, XpathNavigator objekt na vyhodnotenie Výrazy XPath, a XPathNodeIterator objekt Iterácia súboru prostredníctvom vybraných uzly. Vyhlásiť Reťazec objekt držať Výrazy XPath. Pridajte kód vyhlásenie v Hlavné Funkcia v Class1.
       XPathNavigator nav;
       XPathDocument docNav;
       XPathNodeIterator NodeIter;
       String strExpression;
    					
  5. Zaťaženie XPathDocument so vzorkou súbor Books.xml. The XPathDocument Trieda používa Extensible Stylesheet Language Transformations (XSLT) na poskytnutie rýchle a výkon-orientované vyrovnávacej pamäte pre spracovanie XML dokumentu. Je podobný na XML Document Object Model (DOM), ale je optimalizovaný pre XSLT spracovania a XPath údajového modelu.
        // Open the XML.
        docNav = new XPathDocument(@"c:\books.xml");
    					
  6. Vytvoriť XPathNavigator z dokumentu. The XPathNavigator objekt sa používa pre dotazy XPath iba na čítanie. Dotazy XPath môže vrátiť výslednú hodnotu alebo veľa uzlov.
         // Create a navigator to query with XPath.
         nav = docNav.CreateNavigator();
    					
  7. Vytvorenie výrazu XPath nájsť priemerných nákladov na knihu. Tento výraz XPath vráti jednu hodnotu. Úplné podrobnosti o syntaxe XPath, pozrite "XPath Syntax" v sekcii "Odkazy".
         // Find the average cost of a book.
         // This expression uses standard XPath syntax.
         strExpression = "sum(/bookstore/book/price) div count(/bookstore/book/price)";
    					
  8. Použitie Vyhodnotenie metóda XPathNavigator objekt na vyhodnotenie výrazu XPath. The Vyhodnotenie metóda vráti výsledkov výrazu.
        // Use the Evaluate method to return the evaluated expression.
        Console.WriteLine("The average cost of the books are {0}", nav.Evaluate(strExpression));
  9. Vytvorenie výrazu XPath nájsť všetky knihy, ktoré stojí viac ako desať dolárov. Tento výraz XPath vráti iba názov uzly zdroj údajov XML.
        // Find the title of the books that are greater then $10.00.
        strExpression = "/bookstore/book/title[../price>10.00]";
    					
  10. Vytvoriť XPathNodeIterator pre uzly, ktoré sú vybraté s Vyberte metóda XPathNavigator. The XPathNodeIterator predstavuje XPath nodeset a preto podporuje operácie na tomto nodeset.
        // Select the node and place the results in an iterator.
        NodeIter = nav.Select(strExpression);
  11. Použitie XPathNodeIterator, ktorá bola vrátená z Vyberte metóda XPathNavigator, na posúvanie vybraných uzly. V tomto prípade môžete použiť MoveNext metóda XPathNodeIterator Iterácia súboru cez všetky vybraté uzlov.
      Console.WriteLine("List of expensive books:");
      //Iterate through the results showing the element value.
      while (NodeIter.MoveNext())
      {
          Console.WriteLine("Book Title: {0}", NodeIter.Current.Value);
      };
    					
  12. Použitie ReadLine metóda pridať pauzu na konci konzola displej pre ľahšie zobrazenie vyššie uvedené výsledky.
        // Pause
        Console.ReadLine();
    					
  13. Vybudovať a spustiť váš projekt. Všimnite si, že výsledky sa zobrazujú v okne konzoly.

Riešenie problémov

Keď ste otestovať kód, môže zobraziť nasledujúce chybové hlásenie výnimky:
V System.xml.dll sa vyskytla nespracovanú výnimku typu „System.Xml.XmlException ”

Ďalšie informácie: systémová chyba.
Výnimkou chyba vyskytuje na nasledujúci riadok kódu:
docNav = new XPathDocument("c:\\books.xml");
				
Výnimkou chyba je spôsobená pokyn neplatný spracovania. Napríklad, inštrukcia spracovania typu môže obsahovať cudzie medzery. Nasleduje príklad pokyn neplatný spracovania:
<?xml version='1.0' ?>
Vyriešite výnimkou vykonajte jednu z nasledujúcich:
  • Opravte neplatné spracovanie inštrukcií. Nasleduje príklad inštrukciu platné spracovania:
    <?xml version='1.0'?>
    -ALEBO-
  • Odstráňte Inštrukcia spracovania typu XML z súbor Books.xml.

ODKAZY

Nasledovný súbor je k dispozícii na prevzatie zo strediska pre prevzatie softvéru spoločnosti Microsoft:
Zbaliť tento obrázokRozbaliť tento obrázok
Stiahnuť
Download Books.xml
Ďalšie informácie nájdete na nasledovných webových lokalitách spoločnosti Microsoft:
XML v.NET:.Tried NET Framework XML a C# ponúkajú jednoduchý, škálovateľné manipuláciu dát
http://msdn.Microsoft.com/msdnmag/issues/01/01/XML/default.aspx

XPathNavigator Class
http://msdn.Microsoft.com/en-us/library/System.XML.XPath.xpathnavigator.aspx

XPathDocument Class
http://msdn.Microsoft.com/en-us/library/System.XML.XPath.xpathdocument.aspx

XPathNodeIterator Class
http://msdn.Microsoft.com/en-us/library/System.XML.XPath.xpathnodeiterator.aspx

XSLT transformácií s XslTransform triedy
http://msdn.Microsoft.com/en-us/library/47yh29a9.aspx

XPath Syntax
http://msdn2.Microsoft.com/en-us/library/ms763742.aspx
Ďalšie informácie o XPath nájdete na webovej lokalite World Wide Web Consortium (W3C):
Jazyk XML Path (XPath)
Verzia 1.0: Odporúčaním W3C 16 November 1999
http://www.w3.org/TR/1999/Rec-XPath-19991116

Vlastnosti

ID článku: 308333 - Posledná kontrola: 1. novembra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Kľúčové slová: 
kbdownload kbhowtomaster kbmt KB308333 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:308333

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com