Dela via


Funktionell transformering av XML (LINQ till XML)

I den här artikeln beskrivs metoden för ren funktionell transformering för att ändra XML-dokument och kontrasterar den med en procedurmetod.

Ändra ett XML-dokument

En av de vanligaste uppgifterna för en XML-programmerare är att transformera XML från en form till en annan. Formen på ett XML-dokument är dokumentets struktur, som innehåller följande:

  • Hierarkin som uttrycks i dokumentet.
  • Element- och attributnamnen.
  • Datatyperna för elementen och attributen.

I allmänhet är den mest effektiva metoden för att omvandla XML från en form till en annan den rena funktionella omvandlingen. I den här metoden är den primära programmeraruppgiften att skapa en transformering som tillämpas på hela XML-dokumentet (eller på en eller flera strikt definierade noder). Funktionell omvandling är utan tvekan det enklaste att koda (när en programmerare är bekant med metoden), ger den mest underhållsbara koden och är ofta mer kompakt än alternativa metoder.

XML-funktionella transformeringstekniker

Microsoft erbjuder två funktionella transformeringstekniker för användning i XML-dokument: XSLT och LINQ till XML. XSLT stöds i det System.Xml.Xsl hanterade namnområdet och i den interna COM-implementeringen av MSXML. Även om XSLT är en robust teknik för att manipulera XML-dokument, kräver det expertis inom en specialiserad domän, nämligen XSLT-språket och dess stödjande API:er.

LINQ till XML innehåller de verktyg som krävs för att koda rena funktionella transformeringar på ett uttrycksfullt och kraftfullt sätt, inom C# eller Visual Basic-kod. Till exempel använder många av exemplen i LINQ till XML-dokumentationen en ren funktionell metod. I självstudien Självstudie: Manipulera innehåll i en wordprocessingML-dokumentguide använder vi LINQ till XML i en funktionell metod för att manipulera information i ett Microsoft Word-dokument.

En mer fullständig jämförelse av LINQ med XML med andra Microsoft XML-tekniker finns i LINQ till XML jämfört med andra XML-tekniker.

XSLT är det rekommenderade verktyget för dokumentcentrerade transformeringar när källdokumentet har en oregelbunden struktur. LINQ till XML kan dock också utföra dokumentcentrerade transformeringar. Mer information finns i Så här använder du anteckningar för att transformera LINQ till XML-träd i ett XSLT-format.

Se även