System.Xml
XmlDocument.
XmlDocumentFragment
: XmlNode
: object
XmlDocumentFragment
:
XmlNode
| Name | Description |
|---|---|
XmlDocumentFragment(XmlDocument ownerDocument) |
Initializes a new instance of the XmlDocumentFragment class. |
| Name | Type | Description |
|---|---|---|
BaseURI |
string |
Gets the base URI of the current node. |
ChildNodes |
XmlNodeList |
Gets a XmlNodeList containing the children of the current node. |
FirstChild |
XmlNode |
Gets the first child of the current node. |
InnerXml |
string |
Gets or sets a value indicating whether the current node is an attribute. |
IsReadOnly |
bool |
Gets a value indicating whether this node is read-only. |
LastChild |
XmlNode |
Gets the last child of the current node. |
LocalName |
string |
Gets the local name of the node. |
Name |
string |
Gets the qualified name of the node. |
NamespaceURI |
string |
Gets the namespace URI of the document to which this node belongs. |
NextSibling |
XmlNode |
Gets the node immediately following this node. |
NodeType |
XmlNodeType |
Gets the node type of the current node. |
OwnerDocument |
XmlDocument |
Gets the XmlDocument to which this node belongs. |
ParentNode |
XmlNode |
Gets the parent of the current node. |
Prefix |
string |
Gets or sets the namespace prefix of the node. |
PreviousSibling |
XmlNode |
Gets the node immediately preceding this node. |
Value |
string |
Gets or sets the value of the current node. |
| Name | Description |
|---|---|
AppendChild(XmlNode newChild) |
Appends the specified node to the end of the list of children. |
CloneNode(bool deep) |
Creates a duplicate of this node. |
InsertAfter(XmlNode newChild, XmlNode refChild) |
Inserts the specified node after the specified reference node. |
InsertBefore(XmlNode newChild, XmlNode refChild) |
Inserts the specified node before the specified reference node. |
Normalize() |
Ensures that all the nodes in the subtree are in a "normal" form, such that there are no empty text nodes and there are no nodes that are immediately adjacent to each other. |
RemoveAll() |
Removes all the XmlNode objects from the current node. |
RemoveChild(XmlNode oldChild) |
Removes the specified node from the list of children and returns it. |
ReplaceChild(XmlNode newChild, XmlNode oldChild) |
Replaces the node specified by oldChild with the node specified by newChild. |
WriteContentTo(XmlWriter w) |
Saves all the children of the current node to the specified XmlWriter. |
WriteTo(XmlWriter w) |
Saves the current node and all its children to the specified XmlWriter. |
An XmlDocumentFragment is a lightweight object that can hold a part of an XML document. It is useful for scenarios where you need to create XML nodes programmatically and then insert them into an existing XmlDocument.
Unlike an XmlDocument, an XmlDocumentFragment does not have to be well-formed. For example, it can contain text nodes, elements, or both.
When an XmlDocumentFragment is inserted into an XmlDocument, its children are appended to the target node. The XmlDocumentFragment itself is not inserted.
This class is a part of the System.Xml namespace and is fundamental for manipulating XML structures in .NET.
The following example demonstrates how to create an XmlDocumentFragment and add elements to it.
using System;
using System.Xml;
public class Example
{
public static void Main(string[] args)
{
XmlDocument doc = new XmlDocument();
// Create an XmlDocumentFragment
XmlDocumentFragment fragment = doc.CreateDocumentFragment();
// Create some elements and append them to the fragment
XmlElement element1 = doc.CreateElement("book");
element1.SetAttribute("id", "bk101");
XmlElement title = doc.CreateElement("title");
title.InnerText = "XML Developer's Guide";
element1.AppendChild(title);
XmlElement element2 = doc.CreateElement("author");
element2.InnerText = "Gambardella, Matthew";
fragment.AppendChild(element1);
fragment.AppendChild(element2);
// Now insert the fragment into the document
XmlElement root = doc.CreateElement("catalog");
doc.AppendChild(root);
root.AppendChild(fragment); // The children of the fragment are inserted
Console.WriteLine("XML Document after inserting fragment:");
Console.WriteLine(doc.OuterXml);
}
}