Sdílet prostřednictvím


Funkční transformace XML (LINQ to XML)

Tento článek popisuje čistě funkční transformační přístup k úpravě dokumentů XML a kontrastuje s procedurálním přístupem.

Úprava dokumentu XML

Jednou z nejběžnějších úloh programátora XML je transformace XML z jednoho obrazce do druhého. Tvar dokumentu XML je struktura dokumentu, která zahrnuje následující:

  • Hierarchie vyjádřená dokumentem.
  • Názvy elementů a atributů.
  • Datové typy prvků a atributů.

Obecně platí, že nejúčinnějším přístupem k transformaci XML z jednoho tvaru na druhý je čistě funkční transformace. V tomto přístupu je primární programátorský úkol vytvořit transformaci, která se použije na celý dokument XML (nebo na jeden nebo více přísně definovaných uzlů). Funkční transformace je pravděpodobně nejjednodušší kód (poté, co je programátor obeznámen s přístupem), poskytuje nejdržitelnější kód a je často kompaktnější než alternativní přístupy.

Funkční transformační technologie XML

Microsoft nabízí dvě funkční transformační technologie pro použití v dokumentech XML: XSLT a LINQ to XML. XSLT je podporován ve spravovaném System.Xml.Xsl oboru názvů a v nativní implementaci MODELU COM MSXML. I když je XSLT robustní technologií pro manipulaci s dokumenty XML, vyžaduje odborné znalosti ve specializované doméně, konkrétně jazyk XSLT a jeho podpůrná rozhraní API.

LINQ to XML poskytuje nástroje nezbytné pro kódování čistých funkčních transformací výrazným a výkonným způsobem v kódu jazyka C# nebo Visual Basic. Mnoho příkladů v dokumentaci LINQ to XML například používá čistě funkční přístup. V kurzu: Manipulace s obsahem v kurzu dokumentu WordprocessingML používáme LINQ to XML v funkčním přístupu k manipulaci s informacemi v dokumentu Microsoft Wordu.

Podrobnější porovnání LINQ to XML s jinými technologiemi Microsoft XML najdete v tématu LINQ to XML a další technologie XML.

XSLT je doporučeným nástrojem pro transformace zaměřené na dokument, pokud má zdrojový dokument nepravidelnou strukturu. LinQ to XML ale může také provádět transformace zaměřené na dokumenty. Další informace naleznete v tématu Použití poznámek k transformaci stromů LINQ to XML ve stylu XSLT.

Viz také