Questions on XSLT and xPath in .NET
Define XSLT.
XSLT language is used for transforming XML documents into XHTML documents. It also transforms XML into another XML document.
What is XPATH?
XPath is a language that is used to navigate through XML documents.It can find information in an XML document like elements and attributes.
Define XMLReader Class.
The XMLReader Class (Assembly: System.Xml.dll) represents a reader that provides fast, non-cached, forward-only access to XML data.
Define XMLValidatingReader class.
The XMLValidatingReader class (Assembly: System.Xml.dll) represents a reader that provides:
- Document type definition (DTD),
- XML-Data Reduced (XDR) schema, and
- XML Schema definition language (XSD) validation
.NET Object Serialization – Difference between the SoapFormatter and the XmlSerializer
What is the difference between the SoapFormatter and the XmlSerializer?
SoapFormatter
SOAP formatter will actually take the field values of an object and store all of that information in the stream passed.
SoapFormatter is better to serialize arbitrary data
XmlSerializer
XML Serialization would just serialize the public properties of an object.
The XML Serializer is used typically for serializing simple types across web services
xmlserializer is better, more flexible and faster
Explain about Serialization in .NET. Explain binary serialization and XML serialization
Explain about Serialization in .NET. Explain binary serialization and XML serialization
System.Runtime.Serialization namespace provides Serialization in .NET.
The IFormatter interface in the namespace contains Serialize and De-serialize methods that save and load data of a stream.
So we need stream as a container for the serialized object(s) and a formatter that serializes these objects onto the stream to implement serialization in .net.
Binary serialization is a mechanism that creates exact binary copy of the object onto the storage media by writing the data to the output stream such that it can be used to re-construct the object automatically.
XML serialization results in strongly typed classes with public properties and fields that are converted to a serial format for storage or transport. This XML stream conforms to a specific XML Schema definition language (XSD) document.
Explain why Serialization.
An object is stored in a file, a database or even in the memory. However, data to be transferred over a network needs to be in a linear form for which serialization and deserialization are used.
Advantage of serialization is the ability of an object to be serialized into a persistent or a non-persistent storage media and then reconstructing the same object later by de-serializing the object.
Remoting and Web Services depend heavily on Serialization and De-serialization.
Explain the components that comprise the binary serialization architecture.
To binary serialize an object we need a FileStream object,
Constructor: FileStream(file_name, FileMode.Create);
And
BinaryFormatter
Constructor: binaryFormatter.Serialize(fileStreamObject, object1);
.NET interview: What is the difference between the SoapFormatter and the XmlSerializer
SoapFormatter
SOAP formatter will actually take the field values of an object and store all of that information in the stream passed.
SoapFormatter is better to serialize arbitrary data
XmlSerializer
XML Serialization would just serialize the public properties of an object.
The XML Serializer is used typically for serializing simple types across web services
xmlserializer is better, more flexible and faster
.NET interview: Serialization in .NET
Explain about Serialization in .NET. Explain binary serialization and XML serialization
System.Runtime.Serialization namespace provides Serialization in .NET.
The IFormatter interface in the namespace contains Serialize and De-serialize methods that save and load data of a stream.
So we need stream as a container for the serialized object(s) and a formatter that serializes these objects onto the stream to implement serialization in .net.
Binary serialization is a mechanism that creates exact binary copy of the object onto the storage media by writing the data to the output stream such that it can be used to re-construct the object automatically.
XML serialization results in strongly typed classes with public properties and fields that are converted to a serial format for storage or transport. This XML stream conforms to a specific XML Schema definition language (XSD) document.
Explain why Serialization.
An object is stored in a file, a database or even in the memory. However, data to be transferred over a network needs to be in a linear form for which serialization and deserialization are used.
Advantage of serialization is the ability of an object to be serialized into a persistent or a non-persistent storage media and then reconstructing the same object later by de-serializing the object.
Remoting and Web Services depend heavily on Serialization and De-serialization.
Explain the components that comprise the binary serialization architecture.
To binary serialize an object we need a FileStream object,
Constructor: FileStream(file_name, FileMode.Create);
And
BinaryFormatter
Constructor: binaryFormatter.Serialize(fileStreamObject, object1);
What is Formatters? Explain the binary formatter and the SOAP formatter.
A formatter determines the serialization format for objects.
.NET framework provides Binary formatter and SOAP formatter which inherit from the IFormatter interface
The Binary Formatter
It provides binary encoding for compact serialization for storage or socket-based network streams.
It is not appropriate for data to be passed through a firewall.
The SOAP Formatter
It provides formatting that can be used to enable objects to be serialized using the SOAP protocol.
The class is used for serialization through firewalls or diverse systems.
Interview Questions for Developers using XML
- Describe the difference between pull-style parsers (XmlReader) and eventing-readers (Sax)
- What is the difference between XPathDocument and XmlDocument? Describe situations where one should be used over the other.
- What is the difference between an XML "Fragment" and an XML "Document."
- What is the purpose of XML Namespaces?
- When is the DOM appropriate for use? When is it not? Are there size limitations?
- What is the WS-I Basic Profile and why is it important?
- What does it meant to say “the canonical” form of XML?
- Does System.Xml support DTDs? How?
- Can any XML Schema be represented as an object graph? Vice versa?
- Write a small XML document that uses a default namespace and a qualified (prefixed) namespace. Include elements from both namespace.
- What is the one fundamental difference between Elements and Attributes?
- What is the difference between Well-Formed XML and Valid XML?
- How would you validate XML using .NET?
- Why is this almost always a bad idea? When is it a good idea? myXmlDocument.SelectNodes("//mynode");
- Why is the XML InfoSet specification different from the Xml DOM? What does the InfoSet attempt to solve?
- Contrast DTDs versus XSDs. What are their similarities and differences? Which is preferred and why?