Expand Minimize
10 out of 13 rated this helpful - Rate this topic

System.Xml Namespace

The System.Xml namespace provides standards-based support for processing XML.

The supported standards include:

  • XML 1.0 - http://www.w3.org/TR/1998/REC-xml-19980210 - including DTD support.

  • XML Namespaces - http://www.w3.org/TR/REC-xml-names/ - both stream level and DOM.

  • XSD Schemas - http://www.w3.org/2001/XMLSchema

  • XPath expressions - http://www.w3.org/TR/xpath

  • XSLT transformations - http://www.w3.org/TR/xslt

  • DOM Level 1 Core - http://www.w3.org/TR/REC-DOM-Level-1/

  • DOM Level 2 Core - http://www.w3.org/TR/DOM-Level-2/

The .NET Framework 4.5, provides a set of asynchronous APIs for XmlReader and XmlWriter, which are based on the Visual Studio Asynchronous Programming model. These APIs provide the ability to process XML asynchronously. It is preferable to use these APIs to perform XML operations with Network IO where latency is noticeable. With these asynchronous APIs, you can write the asynchronous code similar to the synchronous one. Also, you can transit your existing synchronous code to asynchronously code easily.

The following is a list of best practices for using the asynchronous APIs:

  1. Use the asynchronous APIs in applications where there is significant network stream latency. Avoid using the asynchronous APIs for memory stream or local file stream reads and writes. Also, the input Stream, XmlTextReader and XmlTextWriter should support asynchronous operations as well, otherwise threads will still be blocked by IO operations.

  2. Using a mix synchronous and asynchronous function calls is not encouraged since you may forget the use the await keyword on API, or use a synchronous API where an asynchronous one is need.

  3. Do not set the Async or Async flag to true if you do not intend to use an asynchronous API.

  4. If you forget to specify the await keyword when calling an asynchronous API, you may receive either an expected result or an exception, which is non-deterministic.

  5. When reading a large text node, XmlReader may only cache a partial text value and return the text node, so retrieving Value may be blocked by an IO operation. Use the GetValueAsync method to get the text value in asynchronous mode. You may also use ReadValueChunkAsync to read a large text block chunk-by-chunk.

  6. When using XmlWriter, call FlushAsync before calling Close to avoid blocking an IO operation.

  ClassDescription
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsNameTableImplements a single-threaded XmlNameTable.
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsUniqueIdA unique identifier optimized for Guids.
Public classXmlAttributeRepresents an attribute. Valid and default values for the attribute are defined in a document type definition (DTD) or schema.
Public classXmlAttributeCollectionRepresents a collection of attributes that can be accessed by name or index.
Public classSupported in .NET for Windows Store appsXmlBinaryReaderSessionEnables optimized strings to be managed in a dynamic way.
Public classSupported in .NET for Windows Store appsXmlBinaryWriterSessionEnables using a dynamic dictionary to compress common strings that appear in a message and maintain state.
Public classXmlCDataSectionRepresents a CDATA section.
Public classXmlCharacterDataProvides text manipulation methods that are used by several classes.
Public classXmlCommentRepresents the content of an XML comment.
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlConvertEncodes and decodes XML names and provides methods for converting between common language runtime types and XML Schema definition language (XSD) types. When converting data types the values returned are locale independent.
Public classXmlDataDocument Obsolete. Allows structured data to be stored, retrieved, and manipulated through a relational DataSet.
Public classXmlDeclarationRepresents the XML declaration node <?xml version='1.0'...?>.
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlDictionaryImplements a dictionary used to optimize Windows Communication Foundation (WCF)'s XML reader/writer implementations.
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlDictionaryReaderAn abstract class that the Windows Communication Foundation (WCF) derives from XmlReader to do serialization and deserialization.
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlDictionaryReaderQuotasContains configurable quota values for XmlDictionaryReaders.
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlDictionaryStringRepresents an entry stored in a XmlDictionary.
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlDictionaryWriterRepresents an abstract class that Windows Communication Foundation (WCF) derives from XmlWriter to do serialization and deserialization.
Public classXmlDocumentRepresents an XML document.
Public classXmlDocumentFragmentRepresents a lightweight object that is useful for tree insert operations.
Public classXmlDocumentTypeRepresents the document type declaration.
Public classXmlElementRepresents an element.
Public classXmlEntityRepresents an entity declaration, such as <!ENTITY... >.
Public classXmlEntityReferenceRepresents an entity reference node.
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlExceptionReturns detailed information about the last exception.
Public classXmlImplementationDefines the context for a set of XmlDocument objects.
Public classXmlLinkedNodeGets the node immediately preceding or following this node.
Public classXmlNamedNodeMapRepresents a collection of nodes that can be accessed by name or index.
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlNamespaceManagerResolves, adds, and removes namespaces to a collection and provides scope management for these namespaces.
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlNameTableTable of atomized string objects.
Public classXmlNodeRepresents a single node in the XML document.
Public classXmlNodeChangedEventArgsProvides data for the NodeChanged, NodeChanging, NodeInserted, NodeInserting, NodeRemoved and NodeRemoving events.
Public classXmlNodeListRepresents an ordered collection of nodes.
Public classXmlNodeReaderRepresents a reader that provides fast, non-cached forward only access to XML data in an XmlNode.
Public classXmlNotationRepresents a notation declaration, such as <!NOTATION... >.
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlParserContextProvides all the context information required by the XmlReader to parse an XML fragment.
Public classXmlProcessingInstructionRepresents a processing instruction, which XML defines to keep processor-specific information in the text of the document.
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlQualifiedNameRepresents an XML qualified name.
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlReaderRepresents a reader that provides fast, noncached, forward-only access to XML data.
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlReaderSettingsSpecifies a set of features to support on the XmlReader object created by the Create method.
Public classXmlResolverResolves external XML resources named by a Uniform Resource Identifier (URI).
Public classXmlSecureResolverHelps to secure another implementation of XmlResolver by wrapping the XmlResolver object and restricting the resources that the underlying XmlResolver has access to.
Public classXmlSignificantWhitespaceRepresents white space between markup in a mixed content node or white space within an xml:space= 'preserve' scope. This is also referred to as significant white space.
Public classXmlTextRepresents the text content of an element or attribute.
Public classXmlTextReaderRepresents a reader that provides fast, non-cached, forward-only access to XML data.
Public classXmlTextWriterRepresents a writer that provides a fast, non-cached, forward-only way of generating streams or files containing XML data that conforms to the W3C Extensible Markup Language (XML) 1.0 and the Namespaces in XML recommendations.
Public classXmlUrlResolverResolves external XML resources named by a Uniform Resource Identifier (URI).
Public classXmlValidatingReader Obsolete. Represents a reader that provides document type definition (DTD), XML-Data Reduced (XDR) schema, and XML Schema definition language (XSD) validation.
Public classXmlWhitespaceRepresents white space in element content.
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlWriterRepresents a writer that provides a fast, non-cached, forward-only means of generating streams or files containing XML data.
Public classSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlWriterSettingsSpecifies a set of features to support on the XmlWriter object created by the XmlWriter.Create method.
Public classXmlXapResolver Obsolete. The XmlXapResolver type is used to resolve resources in the Silverlight application’s XAP package.
  InterfaceDescription
Public interfaceIApplicationResourceStreamResolver Obsolete. Represents an application resource stream resolver.
Public interfaceIFragmentCapableXmlDictionaryWriterContains properties and methods that when implemented by a XmlDictionaryWriter, allows processing of XML fragments.
Public interfaceIHasXmlNodeEnables a class to return an XmlNode from the current context or position.
Public interfaceIStreamProviderRepresents an interface that can be implemented by classes providing streams.
Public interfaceIXmlBinaryReaderInitializerProvides methods for reinitializing a binary reader to read a new document.
Public interfaceIXmlBinaryWriterInitializerSpecifies implementation requirements for XML binary writers that derive from this interface.
Public interfaceSupported by Portable Class LibrarySupported in .NET for Windows Store appsIXmlDictionaryAn interface that defines the contract that an Xml dictionary must implement to be used by XmlDictionaryReader and XmlDictionaryWriter implementations.
Public interfaceSupported by Portable Class LibrarySupported in .NET for Windows Store appsIXmlLineInfoProvides an interface to enable a class to return line and position information.
Public interfaceIXmlMtomReaderInitializerSpecifies implementation requirements for XML MTOM readers that derive from this interface.
Public interfaceIXmlMtomWriterInitializerWhen implemented by an MTOM writer, this interface ensures initialization for an MTOM writer.
Public interfaceSupported by Portable Class LibrarySupported in .NET for Windows Store appsIXmlNamespaceResolverProvides read-only access to a set of prefix and namespace mappings.
Public interfaceIXmlTextReaderInitializerSpecifies implementation requirements for XML text readers that derive from this interface.
Public interfaceIXmlTextWriterInitializerSpecifies implementation requirements for XML text writers that derive from this interface.
  DelegateDescription
Public delegateOnXmlDictionaryReaderClosedelegate for a callback method when closing the reader.
Public delegateXmlNodeChangedEventHandlerRepresents the method that handles NodeChanged, NodeChanging, NodeInserted, NodeInserting, NodeRemoved and NodeRemoving events.
  EnumerationDescription
Public enumerationSupported by Portable Class LibrarySupported in .NET for Windows Store appsConformanceLevelSpecifies the amount of input or output checking that the created XmlReader and XmlWriter objects perform.
Public enumerationSupported by Portable Class LibrarySupported in .NET for Windows Store appsDtdProcessingSpecifies the options for processing DTDs. The DtdProcessing enumeration is used by XmlReaderSettings.
Public enumerationEntityHandlingSpecifies how the XmlTextReader or XmlValidatingReader handle entities.
Public enumerationFormattingSpecifies formatting options for the XmlTextWriter.
Public enumerationSupported by Portable Class LibrarySupported in .NET for Windows Store appsNamespaceHandlingSpecifies whether to remove duplicate namespace declarations in the XmlWriter.
Public enumerationSupported by Portable Class LibrarySupported in .NET for Windows Store appsNewLineHandlingSpecifies how to handle line breaks.
Public enumerationSupported by Portable Class LibrarySupported in .NET for Windows Store appsReadStateSpecifies the state of the reader.
Public enumerationValidationTypeSpecifies the type of validation to perform.
Public enumerationWhitespaceHandlingSpecifies how white space is handled.
Public enumerationSupported by Portable Class LibrarySupported in .NET for Windows Store appsWriteStateSpecifies the state of the XmlWriter.
Public enumerationXmlDateTimeSerializationModeSpecifies how to treat the time value when converting between string and DateTime.
Public enumerationXmlDictionaryReaderQuotaTypesEnumerates the configurable quota values for XmlDictionaryReaders.
Public enumerationSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlNamespaceScopeDefines the namespace scope.
Public enumerationXmlNodeChangedActionSpecifies the type of node change.
Public enumerationXmlNodeOrderDescribes the document order of a node compared to a second node.
Public enumerationSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlNodeTypeSpecifies the type of node.
Public enumerationXmlOutputMethodSpecifies the method used to serialize the XmlWriter output.
Public enumerationSupported by Portable Class LibrarySupported in .NET for Windows Store appsXmlSpaceSpecifies the current xml:space scope.
Public enumerationXmlTokenizedTypeRepresents the XML type for the string. This allows the string to be read as a particular XML type, for example a CDATA section type.
Did you find this helpful?
(1500 characters remaining)
© 2013 Microsoft. All rights reserved.