SlideShare ist ein Scribd-Unternehmen logo
1 von 21
LINQ
 Language Integrated Query (LINQ, pronounced "link") is
a Microsoft .NET Framework component that adds native
data querying capabilities to .NET languages, although ports exist
for Java, PHP and JavaScript.
 LINQ defines a set of method names (called standard query
operators, or standard sequence operators), along with translation
rules from so-called query expressions to expressions using these
method names, lambda expressions and anonymous types. These
can, for example, be used to project and filter data into arrays,
enumerable classes, XML (LINQ to XML), relational databases, and
third party data sources.
ADVANTAGES

Quick turn around for development
Queries can be dynamically run
Tables are automatically created into class
Columns are automatically created into properties
Relationship are automatically applied to classes
Lambda expressions are awesome
Data is easy to setup and use
DISADVANTAGES
No clear outline for Tiers
No good way of view permissions
Small data sets will take longer to build the query than
execute
There is an overhead for creating queries
When queries are moved from sql to application side,
joins are very slow
DBMS concurrency issues
Hard to understand advance queries using
Expressions
LINQ Providers

The C# 3.0 specification defines a so-
called Query Expression Pattern along with
translation rules from a LINQ expression to an
expression in a subset of C# 3.0 without LINQ
expressions.
These different providers define the different flavors
of LINQ:


  LINQ to Objects: The LINQ to Objects provider is used for in-memory
  collections, using the local query execution engine of LINQ.


  LINQ to XML (formerly called XLINQ): The LINQ to XML provider
  converts an XML document to a collection of XElement objects, which
  are then queried against using the local execution engine that is
  provided as a part of the implementation of the standard query
  operator.
LINQ to SQL (formerly called DLINQ): The LINQ to SQL provider
allows LINQ to be used to query SQL Server databases,
including SQL Server Compact databases. Since SQL Server data
may reside on a remote server, and because SQL Server has its own
query engine, LINQ to SQL does not use the query engine of LINQ.


LINQ to DataSets: The LINQ to SQL provider works only
with Microsoft SQL Server databases; to support any generic
database, LINQ also includes the LINQ to DataSets, which uses
ADO.NET to handle the communication with the database. Once the
data is in ADO.NET Datasets, LINQ to DataSets execute queries
against these datasets.
What is LINQ to XML?
Working with XML using Microsoft's .NET Framework version 2.0 and
below is a cumbersome task.
The API available follows the W3C DOM model, and is document-
centric. Everything begins with the document; you can't create elements
without having a document; even a fragment of XML is a document.
In the latest release of the .NET Framework, however, this has
changed. XML is now element-centric.
 With features like object initialization and anonymous types, it's very
easy to create XML. Add to this the features of LINQ, and we now have a
very easy to use and powerful tool for XML.
What is LINQ to XML?
LINQ to XML is a LINQ-enabled, in-memory XML programming
interface that enables you to work with XML from within the .NET
Framework programming languages.
LINQ to XML is like the Document Object Model (DOM) in that it
brings the XML document into memory. You can query and modify
the document, and after you modify it you can save it to a file or
serialize it and send it over the Internet. However, LINQ to XML
differs from DOM: It provides a new object model that is lighter weight
and easier to work with, and that takes advantage of language
improvements in Visual C# 2008.
The most important advantage of LINQ to XML is its integration with
Language-Integrated Query (LINQ). This integration enables to write
queries on the in-memory XML document to retrieve collections of
elements and attributes. The query capability of LINQ to XML is
comparable in functionality (although not in syntax) to XPath and XQuery.
The integration of LINQ in Visual C# 2008 provides stronger typing,
compile-time checking, and improved debugger support.


All LINQ to XML types are defined in the System.Xml.Linq namespace.


LINQ to XML comprises of an XML DOM, which we call the X-DOM
X-DOM Overview

XObject is the root of the inheritance hierarchy;
XElement and XDocument are roots of the containership hierarchy.
The System.Xml.Linq Namespace

LINQ to XML allows querying XML data. A new namespace in .NET
3.5, System.Xml.Linq, contains classes for creating and querying XML
trees:
 Xname: Represents a name of an XML element or attribute.
 XNode represents the abstract concept of a node in the XML tree.
 XContainer, derived from XNode, is an abstract base class for all
   nodes that can have child nodes ;is the base class for XDocument
   and XElement.
 XDocument represents an XML document, that contains the root
   level XML constructs, such as: a document type declaration
   (XDocumentType), one root element (XElement), zero or more
   comments objects (XComment).
 XElement is the fundamental type for constructing XML data; it
  has an XName, optionally one or more attributes, and can also
  have content. An element is actually a container (derived from
  XContainer), that contains other XML nodes (XNode), such as
  XComment, XProcessingInstruction or XText.


 XAttribute represents an XML attribute; Attributes are not nodes
  in the XML tree, thus not derived from XNode.
 XComment, used for comments to the root node or as children of
  an element.
Constructing an XML document using LINQ
The LINQ to XML object model does provides XDocuments and XElement classes to
construct XML Documents.
Step 1:

XElement salesorder= new XElement("SALESORDER",
  new XElement("SOHEADER",
  new XElement("ORDERID",123),
  new XElement("CUSTOMERNAME","ABC")),
new XElement("SOLINE",
new XElement("ITEMNAME","2006")));

Step 2:

XDocument doc= new XDocument(new XDeclaration("1.0","utf-8",""),
new XComment("LINQ to XML salesorder"),
       salesorder);

Step 3:

doc.Save(“XMLFile.xml");
Output of XMLFile.xml
<?xml version="1.0" encoding="utf-8"?>
<!--LINQ to XML salesorder-->
<SALESORDER>
 <SOHEADER>
  <ORDERID>123</ORDERID>
  <CUSTOMERNAME>ABC</CUSTOMERNAME>
 </SOHEADER>
 <SOLINE>
  <ITEMNAME>2006</ITEMNAME>
 </SOLINE>
</SALESORDER>

Constructing a document in this way is possible because of the functional
construction feature in LINQ to XML. Functional construction is simply a means of
creating an entire document tree in a single statement.
Load an XML document



We can load existing XML file into a LINQ in XML tree so that we can
read it, manupulate it.

XElement salesorder = XElement.Load(@”C:/so.xml”);

XElement.load method is used to load the xml into XElement from any
file or textreader.
Traversing XML

    LINQ to XML provides method for getting the children of an
    XElement. Nodes() method is used to get all the children of an
    XElement( or an XDocument).

    foreach(c in salesorder.Nodes())
    {
    Console.writeLine( c );
    }
Inserting XML in LINQ




We can easily add element to the LINQ to XML object model
easily by using Add() method.

Salesorder.Add(new Element(“SOLINES”,
                new Element(“ITEMNAME”,2009));
Deleting XML element in LINQ




To delete specific Xelement, we need to navigate to the contents to
delete and call the Remove() method.

Salesorder.Element(“SOLINES”).Remove();
Updating XML in LINQ



To update XML, navigate to Xelement whose contents is to be
replaced and then use the ReplaceNode() method.

Xelement header=salesorder.Element(“SOHEADER”);
Xelement orderid=header.Element(“ORDERID”);
Orderid.ReplaceNodes(“456”);
Thank You

Weitere ähnliche Inhalte

Was ist angesagt?

8 query processing and optimization
8 query processing and optimization8 query processing and optimization
8 query processing and optimizationKumar
 
DBMS Assignments Questions
DBMS Assignments QuestionsDBMS Assignments Questions
DBMS Assignments QuestionsSara Sahu
 
DeadLock in Operating-Systems
DeadLock in Operating-SystemsDeadLock in Operating-Systems
DeadLock in Operating-SystemsVenkata Sreeram
 
database recovery techniques
database recovery techniques database recovery techniques
database recovery techniques Kalhan Liyanage
 
Chapter – 4 Normalization and Relational Algebra.pdf
Chapter – 4 Normalization and Relational Algebra.pdfChapter – 4 Normalization and Relational Algebra.pdf
Chapter – 4 Normalization and Relational Algebra.pdfTamiratDejene1
 
MySQL Workbench Tutorial | Introduction To MySQL Workbench | MySQL DBA Traini...
MySQL Workbench Tutorial | Introduction To MySQL Workbench | MySQL DBA Traini...MySQL Workbench Tutorial | Introduction To MySQL Workbench | MySQL DBA Traini...
MySQL Workbench Tutorial | Introduction To MySQL Workbench | MySQL DBA Traini...Edureka!
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1Mohammed Romi
 
Understanding isolation levels
Understanding isolation levelsUnderstanding isolation levels
Understanding isolation levelsHieu Nguyen Trung
 
How to install windows 10
How to install windows 10How to install windows 10
How to install windows 10Annu Ahmed
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagramnethisip13
 
File access methods.54
File access methods.54File access methods.54
File access methods.54myrajendra
 
Protection and Security in Operating Systems
Protection and Security in Operating SystemsProtection and Security in Operating Systems
Protection and Security in Operating Systemsvampugani
 
Disk allocation methods
Disk allocation methodsDisk allocation methods
Disk allocation methodsajeela mushtaq
 
region-filling
region-fillingregion-filling
region-fillingKumar
 

Was ist angesagt? (20)

8 query processing and optimization
8 query processing and optimization8 query processing and optimization
8 query processing and optimization
 
Deadlock
DeadlockDeadlock
Deadlock
 
DBMS Keys
DBMS KeysDBMS Keys
DBMS Keys
 
DBMS Assignments Questions
DBMS Assignments QuestionsDBMS Assignments Questions
DBMS Assignments Questions
 
DeadLock in Operating-Systems
DeadLock in Operating-SystemsDeadLock in Operating-Systems
DeadLock in Operating-Systems
 
database recovery techniques
database recovery techniques database recovery techniques
database recovery techniques
 
Chapter – 4 Normalization and Relational Algebra.pdf
Chapter – 4 Normalization and Relational Algebra.pdfChapter – 4 Normalization and Relational Algebra.pdf
Chapter – 4 Normalization and Relational Algebra.pdf
 
Dbms 4NF & 5NF
Dbms 4NF & 5NFDbms 4NF & 5NF
Dbms 4NF & 5NF
 
MySQL Workbench Tutorial | Introduction To MySQL Workbench | MySQL DBA Traini...
MySQL Workbench Tutorial | Introduction To MySQL Workbench | MySQL DBA Traini...MySQL Workbench Tutorial | Introduction To MySQL Workbench | MySQL DBA Traini...
MySQL Workbench Tutorial | Introduction To MySQL Workbench | MySQL DBA Traini...
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Understanding isolation levels
Understanding isolation levelsUnderstanding isolation levels
Understanding isolation levels
 
File management
File managementFile management
File management
 
Shadow paging
Shadow pagingShadow paging
Shadow paging
 
How to install windows 10
How to install windows 10How to install windows 10
How to install windows 10
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagram
 
File access methods.54
File access methods.54File access methods.54
File access methods.54
 
Protection and Security in Operating Systems
Protection and Security in Operating SystemsProtection and Security in Operating Systems
Protection and Security in Operating Systems
 
Disk allocation methods
Disk allocation methodsDisk allocation methods
Disk allocation methods
 
Process scheduling
Process schedulingProcess scheduling
Process scheduling
 
region-filling
region-fillingregion-filling
region-filling
 

Ähnlich wie Linq to xml

Working with xml data
Working with xml dataWorking with xml data
Working with xml dataaspnet123
 
Applied xml programming for microsoft
Applied xml programming for microsoftApplied xml programming for microsoft
Applied xml programming for microsoftRaghu nath
 
LINQ to XML
LINQ to XMLLINQ to XML
LINQ to XMLukdpe
 
Asp.Net 3.5 Part 2
Asp.Net 3.5 Part 2Asp.Net 3.5 Part 2
Asp.Net 3.5 Part 2asim78
 
Sql Summit Clr, Service Broker And Xml
Sql Summit   Clr, Service Broker And XmlSql Summit   Clr, Service Broker And Xml
Sql Summit Clr, Service Broker And XmlDavid Truxall
 
Fyp presentation 2 (SQL Converter)
Fyp presentation 2 (SQL Converter)Fyp presentation 2 (SQL Converter)
Fyp presentation 2 (SQL Converter)Muhammad Shafiq
 
epicenter2010 Open Xml
epicenter2010   Open Xmlepicenter2010   Open Xml
epicenter2010 Open XmlCraig Murphy
 
IT6801-Service Oriented Architecture
IT6801-Service Oriented ArchitectureIT6801-Service Oriented Architecture
IT6801-Service Oriented ArchitectureMadhu Amarnath
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net FundamentalsAli Taki
 
The LINQ Between XML and Database
The LINQ Between XML and DatabaseThe LINQ Between XML and Database
The LINQ Between XML and DatabaseIRJET Journal
 

Ähnlich wie Linq to xml (20)

Working with xml data
Working with xml dataWorking with xml data
Working with xml data
 
Linq in C#
Linq in C#Linq in C#
Linq in C#
 
Applied xml programming for microsoft
Applied xml programming for microsoftApplied xml programming for microsoft
Applied xml programming for microsoft
 
Linq To XML Overview
Linq To XML OverviewLinq To XML Overview
Linq To XML Overview
 
LINQ to XML
LINQ to XMLLINQ to XML
LINQ to XML
 
Asp.Net 3.5 Part 2
Asp.Net 3.5 Part 2Asp.Net 3.5 Part 2
Asp.Net 3.5 Part 2
 
Sql Summit Clr, Service Broker And Xml
Sql Summit   Clr, Service Broker And XmlSql Summit   Clr, Service Broker And Xml
Sql Summit Clr, Service Broker And Xml
 
UNIT-1 Web services
UNIT-1 Web servicesUNIT-1 Web services
UNIT-1 Web services
 
Unit 3 WEB TECHNOLOGIES
Unit 3 WEB TECHNOLOGIES Unit 3 WEB TECHNOLOGIES
Unit 3 WEB TECHNOLOGIES
 
dot NET Framework
dot NET Frameworkdot NET Framework
dot NET Framework
 
Fyp presentation 2 (SQL Converter)
Fyp presentation 2 (SQL Converter)Fyp presentation 2 (SQL Converter)
Fyp presentation 2 (SQL Converter)
 
epicenter2010 Open Xml
epicenter2010   Open Xmlepicenter2010   Open Xml
epicenter2010 Open Xml
 
IT6801-Service Oriented Architecture
IT6801-Service Oriented ArchitectureIT6801-Service Oriented Architecture
IT6801-Service Oriented Architecture
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net Fundamentals
 
treeview
treeviewtreeview
treeview
 
treeview
treeviewtreeview
treeview
 
dotNETfinal.ppt
dotNETfinal.pptdotNETfinal.ppt
dotNETfinal.ppt
 
dotNETfinal.ppt
dotNETfinal.pptdotNETfinal.ppt
dotNETfinal.ppt
 
The LINQ Between XML and Database
The LINQ Between XML and DatabaseThe LINQ Between XML and Database
The LINQ Between XML and Database
 
.NET Tutorial
.NET Tutorial.NET Tutorial
.NET Tutorial
 

Kürzlich hochgeladen

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Kürzlich hochgeladen (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Linq to xml

  • 1.
  • 2. LINQ  Language Integrated Query (LINQ, pronounced "link") is a Microsoft .NET Framework component that adds native data querying capabilities to .NET languages, although ports exist for Java, PHP and JavaScript.  LINQ defines a set of method names (called standard query operators, or standard sequence operators), along with translation rules from so-called query expressions to expressions using these method names, lambda expressions and anonymous types. These can, for example, be used to project and filter data into arrays, enumerable classes, XML (LINQ to XML), relational databases, and third party data sources.
  • 3. ADVANTAGES Quick turn around for development Queries can be dynamically run Tables are automatically created into class Columns are automatically created into properties Relationship are automatically applied to classes Lambda expressions are awesome Data is easy to setup and use
  • 4. DISADVANTAGES No clear outline for Tiers No good way of view permissions Small data sets will take longer to build the query than execute There is an overhead for creating queries When queries are moved from sql to application side, joins are very slow DBMS concurrency issues Hard to understand advance queries using Expressions
  • 5. LINQ Providers The C# 3.0 specification defines a so- called Query Expression Pattern along with translation rules from a LINQ expression to an expression in a subset of C# 3.0 without LINQ expressions.
  • 6. These different providers define the different flavors of LINQ: LINQ to Objects: The LINQ to Objects provider is used for in-memory collections, using the local query execution engine of LINQ. LINQ to XML (formerly called XLINQ): The LINQ to XML provider converts an XML document to a collection of XElement objects, which are then queried against using the local execution engine that is provided as a part of the implementation of the standard query operator.
  • 7. LINQ to SQL (formerly called DLINQ): The LINQ to SQL provider allows LINQ to be used to query SQL Server databases, including SQL Server Compact databases. Since SQL Server data may reside on a remote server, and because SQL Server has its own query engine, LINQ to SQL does not use the query engine of LINQ. LINQ to DataSets: The LINQ to SQL provider works only with Microsoft SQL Server databases; to support any generic database, LINQ also includes the LINQ to DataSets, which uses ADO.NET to handle the communication with the database. Once the data is in ADO.NET Datasets, LINQ to DataSets execute queries against these datasets.
  • 8. What is LINQ to XML? Working with XML using Microsoft's .NET Framework version 2.0 and below is a cumbersome task. The API available follows the W3C DOM model, and is document- centric. Everything begins with the document; you can't create elements without having a document; even a fragment of XML is a document. In the latest release of the .NET Framework, however, this has changed. XML is now element-centric.  With features like object initialization and anonymous types, it's very easy to create XML. Add to this the features of LINQ, and we now have a very easy to use and powerful tool for XML.
  • 9. What is LINQ to XML? LINQ to XML is a LINQ-enabled, in-memory XML programming interface that enables you to work with XML from within the .NET Framework programming languages. LINQ to XML is like the Document Object Model (DOM) in that it brings the XML document into memory. You can query and modify the document, and after you modify it you can save it to a file or serialize it and send it over the Internet. However, LINQ to XML differs from DOM: It provides a new object model that is lighter weight and easier to work with, and that takes advantage of language improvements in Visual C# 2008.
  • 10. The most important advantage of LINQ to XML is its integration with Language-Integrated Query (LINQ). This integration enables to write queries on the in-memory XML document to retrieve collections of elements and attributes. The query capability of LINQ to XML is comparable in functionality (although not in syntax) to XPath and XQuery. The integration of LINQ in Visual C# 2008 provides stronger typing, compile-time checking, and improved debugger support. All LINQ to XML types are defined in the System.Xml.Linq namespace. LINQ to XML comprises of an XML DOM, which we call the X-DOM
  • 11. X-DOM Overview XObject is the root of the inheritance hierarchy; XElement and XDocument are roots of the containership hierarchy.
  • 12. The System.Xml.Linq Namespace LINQ to XML allows querying XML data. A new namespace in .NET 3.5, System.Xml.Linq, contains classes for creating and querying XML trees:  Xname: Represents a name of an XML element or attribute.  XNode represents the abstract concept of a node in the XML tree.  XContainer, derived from XNode, is an abstract base class for all nodes that can have child nodes ;is the base class for XDocument and XElement.  XDocument represents an XML document, that contains the root level XML constructs, such as: a document type declaration (XDocumentType), one root element (XElement), zero or more comments objects (XComment).
  • 13.  XElement is the fundamental type for constructing XML data; it has an XName, optionally one or more attributes, and can also have content. An element is actually a container (derived from XContainer), that contains other XML nodes (XNode), such as XComment, XProcessingInstruction or XText.  XAttribute represents an XML attribute; Attributes are not nodes in the XML tree, thus not derived from XNode.  XComment, used for comments to the root node or as children of an element.
  • 14. Constructing an XML document using LINQ The LINQ to XML object model does provides XDocuments and XElement classes to construct XML Documents. Step 1: XElement salesorder= new XElement("SALESORDER", new XElement("SOHEADER", new XElement("ORDERID",123), new XElement("CUSTOMERNAME","ABC")), new XElement("SOLINE", new XElement("ITEMNAME","2006"))); Step 2: XDocument doc= new XDocument(new XDeclaration("1.0","utf-8",""), new XComment("LINQ to XML salesorder"), salesorder); Step 3: doc.Save(“XMLFile.xml");
  • 15. Output of XMLFile.xml <?xml version="1.0" encoding="utf-8"?> <!--LINQ to XML salesorder--> <SALESORDER> <SOHEADER> <ORDERID>123</ORDERID> <CUSTOMERNAME>ABC</CUSTOMERNAME> </SOHEADER> <SOLINE> <ITEMNAME>2006</ITEMNAME> </SOLINE> </SALESORDER> Constructing a document in this way is possible because of the functional construction feature in LINQ to XML. Functional construction is simply a means of creating an entire document tree in a single statement.
  • 16. Load an XML document We can load existing XML file into a LINQ in XML tree so that we can read it, manupulate it. XElement salesorder = XElement.Load(@”C:/so.xml”); XElement.load method is used to load the xml into XElement from any file or textreader.
  • 17. Traversing XML LINQ to XML provides method for getting the children of an XElement. Nodes() method is used to get all the children of an XElement( or an XDocument). foreach(c in salesorder.Nodes()) { Console.writeLine( c ); }
  • 18. Inserting XML in LINQ We can easily add element to the LINQ to XML object model easily by using Add() method. Salesorder.Add(new Element(“SOLINES”, new Element(“ITEMNAME”,2009));
  • 19. Deleting XML element in LINQ To delete specific Xelement, we need to navigate to the contents to delete and call the Remove() method. Salesorder.Element(“SOLINES”).Remove();
  • 20. Updating XML in LINQ To update XML, navigate to Xelement whose contents is to be replaced and then use the ReplaceNode() method. Xelement header=salesorder.Element(“SOHEADER”); Xelement orderid=header.Element(“ORDERID”); Orderid.ReplaceNodes(“456”);