XElement Konstruktoren
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Initialisiert eine neue Instanz der XElement-Klasse.
Überlädt
XElement(XElement) |
Initialisiert eine neue Instanz der XElement-Klasse aus einem anderen XElement-Objekt. |
XElement(XName) |
Initialisiert eine neue Instanz der XElement-Klasse mit dem angegebenen Namen. |
XElement(XStreamingElement) |
Initialisiert eine neue Instanz der XElement-Klasse aus einem XStreamingElement-Objekt. |
XElement(XName, Object) |
Initialisiert eine neue Instanz der XElement-Klasse mit dem angegebenen Namen und Inhalt. |
XElement(XName, Object[]) |
Initialisiert eine neue Instanz der XElement-Klasse mit dem angegebenen Namen und Inhalt. |
Beispiele
Im folgenden Beispiel wird eine XML-Struktur erstellt. Der Inhalt des neuen Elements stammt aus einer LINQ-Abfrage.
XElement xmlTree1 = new XElement("Root",
new XElement("Child", 1),
new XElement("Child", 2),
new XElement("Child", 3),
new XElement("Child", 4),
new XElement("Child", 5),
new XElement("Child", 6)
);
XElement xmlTree2 = new XElement("Root",
from el in xmlTree1.Elements()
where((int)el >= 3 && (int)el <= 5)
select el
);
Console.WriteLine(xmlTree2);
Dim xmlTree1 As XElement = _
<Root>
<Child>1</Child>
<Child>2</Child>
<Child>3</Child>
<Child>4</Child>
<Child>5</Child>
<Child>6</Child>
</Root>
Dim xmlTree2 As XElement = _
<Root>
<%= From el In xmlTree1.Elements() _
Where el.Value >= 3 And el.Value <= 5 _
Select el %>
</Root>
Console.WriteLine(xmlTree2)
Dieses Beispiel erzeugt die folgende Ausgabe:
<Root>
<Child>3</Child>
<Child>4</Child>
<Child>5</Child>
</Root>
Hinweise
Ausführliche Informationen zu den gültigen Inhalten, die an diesen Konstruktor übergeben werden können, finden Sie unter Gültiger Inhalt von XElement- und XDocument-Objekten.
Es gibt eine implizite Konvertierung von Zeichenfolge zu XName. Die typische Verwendung dieses Konstruktors besteht darin, eine Zeichenfolge als Parameter anzugeben, anstatt eine neue XNamezu erstellen.
Beim Erstellen eines Elements in einem Namespace besteht die typische Verwendung darin, die Ergänzungsoperatorüberladung mit XNamespace einer und einer Zeichenfolge zum Erstellen einer XNameZeichenfolge zu verwenden. Weitere Informationen finden Sie unter "Arbeiten mit XML-Namespaces".
XElement(XElement)
public:
XElement(System::Xml::Linq::XElement ^ other);
public XElement (System.Xml.Linq.XElement other);
new System.Xml.Linq.XElement : System.Xml.Linq.XElement -> System.Xml.Linq.XElement
Public Sub New (other As XElement)
Parameter
Beispiele
Im folgenden Beispiel wird eine XML-Struktur erstellt, ein Klon der Struktur erstellt und dann aufgerufen DeepEquals, was überprüft, ob die beiden XML-Bäume gleich sind.
XElement xmlTree = new XElement("Root",
new XAttribute("Att1", 1),
new XElement("Child1", 1),
new XElement("Child2", 2)
);
// Create a clone of the tree.
XElement treeClone = new XElement(xmlTree);
Console.WriteLine("xmlTree = treeClone: {0}", XNode.DeepEquals(xmlTree, treeClone));
// Do some work with xmlTree, perhaps pass it to other methods.
xmlTree.Add(new XElement("Child3", 3));
Console.WriteLine("xmlTree = treeClone: {0}", XNode.DeepEquals(xmlTree, treeClone));
Dim xmlTree As XElement = _
<Root Att1="1">
<Child1>1</Child1>
<Child2>2</Child2>
</Root>
' Create a clone of the tree.
Dim treeClone As XElement = New XElement(xmlTree)
Console.WriteLine("xmlTree = treeClone: {0}", XNode.DeepEquals(xmlTree, treeClone))
' Do some work with xmlTree, perhaps pass it to other methods.
xmlTree.Add(New XElement("Child3", 3))
Console.WriteLine("xmlTree = treeClone: {0}", XNode.DeepEquals(xmlTree, treeClone))
Dieses Beispiel erzeugt die folgende Ausgabe:
xmlTree = treeClone: True
xmlTree = treeClone: False
Hinweise
Dieser Konstruktor macht eine tiefe Kopie eines Elements.
Siehe auch
Gilt für
XElement(XName)
Initialisiert eine neue Instanz der XElement-Klasse mit dem angegebenen Namen.
public:
XElement(System::Xml::Linq::XName ^ name);
public XElement (System.Xml.Linq.XName name);
new System.Xml.Linq.XElement : System.Xml.Linq.XName -> System.Xml.Linq.XElement
Public Sub New (name As XName)
Parameter
Beispiele
Im folgenden Beispiel wird ein Element ohne Inhalt erstellt.
XElement el = new XElement("Root");
Console.WriteLine(el);
Dim el As XElement = <Root/>
Console.WriteLine(el)
Dieses Beispiel erzeugt die folgende Ausgabe:
<Root />
Im folgenden Beispiel wird ein Element in einem Namespace ohne Inhalt erstellt. Weitere Informationen finden Sie unter "Arbeiten mit XML-Namespaces".
XNamespace aw = "http://www.adventure-works.com";
XElement root = new XElement(aw + "Root");
Console.WriteLine(root);
Imports <xmlns="http://www.adventure-works.com">
Module Module1
Sub Main()
Dim root = <Root/>
Console.WriteLine(root)
End Sub
End Module
Dieses Beispiel erzeugt die folgende Ausgabe:
<Root xmlns="http://www.adventure-works.com" />
Hinweise
Dieser Konstruktor erstellt ein Element ohne Inhalt und keine Attribute.
Es gibt eine implizite Konvertierung von Zeichenfolge zu XName. Die typische Verwendung dieses Konstruktors besteht darin, eine Zeichenfolge als Parameter anzugeben, anstatt eine neue XNamezu erstellen. Beim Erstellen eines Elements in einem Namespace besteht die typische Verwendung darin, die Ergänzungsoperatorüberladung mit XNamespace einer und einer Zeichenfolge zum Erstellen einer XNameZeichenfolge zu verwenden. Weitere Informationen finden Sie unter "Arbeiten mit XML-Namespaces".
Siehe auch
Gilt für
XElement(XStreamingElement)
Initialisiert eine neue Instanz der XElement-Klasse aus einem XStreamingElement-Objekt.
public:
XElement(System::Xml::Linq::XStreamingElement ^ other);
public XElement (System.Xml.Linq.XStreamingElement other);
new System.Xml.Linq.XElement : System.Xml.Linq.XStreamingElement -> System.Xml.Linq.XElement
Public Sub New (other As XStreamingElement)
Parameter
- other
- XStreamingElement
Ein XStreamingElement, das nicht ausgewertete Abfragen enthält, die zum Ermitteln des Inhalts des XElementdurchlaufen werden.
Beispiele
Im folgenden Beispiel wird eine Quell-XML-Struktur erstellt und dann eine Abfrage aus der Quell-XML-Struktur erstellt XStreamingElement . Anschließend wird die XStreamingElement Konsole serialisiert, dem Quell-XML-Baum ein neues Element hinzugefügt und dann erneut XStreamingElement serialisiert. Sie können sehen, dass das neu hinzugefügte Element zur Quell-XML-Struktur nicht in der ersten Serialisierung enthalten ist, sondern im zweiten enthalten ist.
XElement src = new XElement("Root",
new XElement("Child1", 1),
new XElement("Child2", 2),
new XElement("Child3", 3)
);
XStreamingElement xse = new XStreamingElement("NewRoot",
from el in src.Elements()
where (int)el >= 2
select el
);
Console.WriteLine(xse);
src.Add(new XElement("Child4", 4));
Console.WriteLine("----");
Console.WriteLine(xse);
Dim src As XElement = _
<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
</Root>
Dim xse As XStreamingElement = New XStreamingElement("NewRoot", _
From el In src.Elements() _
Where (CInt(el) >= 2) _
Select el _
)
Console.WriteLine(xse)
src.Add(New XElement("Child4", 4))
Console.WriteLine("----")
Console.WriteLine(xse)
Dieses Beispiel erzeugt die folgende Ausgabe:
<NewRoot>
<Child2>2</Child2>
<Child3>3</Child3>
</NewRoot>
----
<NewRoot>
<Child2>2</Child2>
<Child3>3</Child3>
<Child4>4</Child4>
</NewRoot>
Hinweise
Dieser Konstruktor wird durch den Inhalt des angegebenen XStreamingElementElements und erstellt ein Element mit seinem Inhalt.
Siehe auch
Gilt für
XElement(XName, Object)
Initialisiert eine neue Instanz der XElement-Klasse mit dem angegebenen Namen und Inhalt.
public:
XElement(System::Xml::Linq::XName ^ name, System::Object ^ content);
public XElement (System.Xml.Linq.XName name, object content);
public XElement (System.Xml.Linq.XName name, object? content);
new System.Xml.Linq.XElement : System.Xml.Linq.XName * obj -> System.Xml.Linq.XElement
Public Sub New (name As XName, content As Object)
Parameter
- content
- Object
Der Inhalt des Elements.
Beispiele
Im folgenden Beispiel wird eine XML-Struktur erstellt. Der Inhalt des neuen Elements stammt aus einer LINQ-Abfrage.
XElement xmlTree1 = new XElement("Root",
new XElement("Child1", 1),
new XElement("Child2", 2),
new XElement("Child3", 3),
new XElement("Child4", 4),
new XElement("Child5", 5),
new XElement("Child6", 6)
);
XElement xmlTree2 = new XElement("Root",
from el in xmlTree1.Elements()
where((int)el >= 3 && (int)el <= 5)
select el
);
Console.WriteLine(xmlTree2);
Dim xmlTree1 As XElement = _
<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
<Child6>6</Child6>
</Root>
Dim xmlTree2 As XElement = _
<Root>
<%= From el In xmlTree1.Elements() _
Where el.Value >= 3 And el.Value <= 5 _
Select el %>
</Root>
Console.WriteLine(xmlTree2)
Dieses Beispiel erzeugt die folgende Ausgabe:
<Root>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
</Root>
Im folgenden Beispiel wird eine XML-Struktur mit einer Vielzahl von Inhaltstypen erstellt.
XElement root;
// String content:
root = new XElement("Root", "Some text");
Console.WriteLine(root);
// XElement object content:
root = new XElement("Root",
new XElement("NewChild", "n")
);
Console.WriteLine(root);
// XAttribute object content:
root = new XElement("Root",
new XAttribute("NewAttribute", "n")
);
Console.WriteLine(root);
// Double content:
double dbl = 12.345;
root = new XElement("Root", dbl);
Console.WriteLine(root);
// DateTime content:
DateTime dt = new DateTime(2006, 10, 6, 12, 30, 00);
root = new XElement("Root", dt);
Console.WriteLine(root);
// String array content:
// Any collection other than a collection of XElement or XAttribute objects
// are converted to strings. The strings are concatenated and added.
string[] stringArray = {
"abc",
"def",
"ghi"
};
root = new XElement("Root", stringArray);
Console.WriteLine(root);
// XElement object array content:
XElement[] ellArray = {
new XElement("NewChild1", 1),
new XElement("NewChild2", 2),
new XElement("NewChild3", 3)
};
root = new XElement("Root", ellArray);
Console.WriteLine(root);
// XAttribute object array content:
XAttribute[] attArray = {
new XAttribute("NewAtt1", 1),
new XAttribute("NewAtt2", 2),
new XAttribute("NewAtt3", 3)
};
root = new XElement("Root", attArray);
Console.WriteLine(root);
Dim root As XElement
' String content:
root = <Root>Some text</Root>
Console.WriteLine(root)
' XElement object content:
root = <Root>
<NewChild>n</NewChild>
</Root>
Console.WriteLine(root)
' XAttribute object content:
root = <Root NewAttribute="n"/>
Console.WriteLine(root)
' Double content:
Dim dbl As Double = 12.345
root = <Root><%= dbl %></Root>
Console.WriteLine(root)
' DateTime content:
Dim dt As DateTime = New DateTime(2006, 10, 6, 12, 30, 0)
root = <Root><%= dt %></Root>
Console.WriteLine(root)
' String array content:
' Any collection other than a collection of XElement or XAttribute objects
' are converted to strings. The strings are concatenated and added.
Dim stringArray As String() = { _
"abc", _
"def", _
"ghi" _
}
root = <Root><%= stringArray %></Root>
Console.WriteLine(root)
' XElement object array content:
Dim ellArray As XElement() = { _
<NewChild1>1</NewChild1>, _
<NewChild2>2</NewChild2>, _
<NewChild3>3</NewChild3> _
}
root = <Root><%= ellArray %></Root>
Console.WriteLine(root)
' XAttribute object array content
Dim attArray As XAttribute() = { _
New XAttribute("NewAtt1", 1), _
New XAttribute("NewAtt2", 2), _
New XAttribute("NewAtt3", 3) _
}
root = <Root><%= attArray %></Root>
Console.WriteLine(root)
Dieses Beispiel erzeugt die folgende Ausgabe:
<Root>Some text</Root>
<Root>
<NewChild>n</NewChild>
</Root>
<Root NewAttribute="n" />
<Root>12.345</Root>
<Root>2006-10-06T12:30:00</Root>
<Root>abcdefghi</Root>
<Root>
<NewChild1>1</NewChild1>
<NewChild2>2</NewChild2>
<NewChild3>3</NewChild3>
</Root>
<Root NewAtt1="1" NewAtt2="2" NewAtt3="3" />
Im folgenden Beispiel wird eine XML-Struktur in einem Namespace erstellt.
// Create an XML tree in a namespace.
XNamespace aw = "http://www.adventure-works.com";
XElement root = new XElement(aw + "Root",
new XElement(aw + "Child", "child content")
);
Console.WriteLine(root);
' Create an XML tree in a namespace.
Dim root As XElement = _
<Root xmlns='http://www.adventure-works.com'>
<Child>child content</Child>
</Root>
Console.WriteLine(root)
Dieses Beispiel erzeugt die folgende Ausgabe:
<Root xmlns="http://www.adventure-works.com">
<Child>child content</Child>
</Root>
Im folgenden Beispiel wird eine XML-Struktur mit geschachtelten Namespaces erstellt.
// Create an XML tree with nested namespaces.
XNamespace aw = "http://www.adventure-works.com";
XNamespace fc = "www.fourthcoffee.com";
XDocument root = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XElement(aw + "Root",
new XElement(fc + "Child",
new XElement(aw + "DifferentChild", "other content")
)
)
);
Console.WriteLine(root);
' Create an XML tree with nested namespaces.
Dim root As XDocument = _
<?xml version='1.0'?>
<Root xmlns='http://www.adventure-works.com'>
<Child xmlns='www.fourthcoffee.com'>
<DifferentChild xmlns='http://www.adventure-works.com'>other content</DifferentChild>
</Child>
</Root>
Console.WriteLine(root)
Dieses Beispiel erzeugt die folgende Ausgabe:
<Root xmlns="http://www.adventure-works.com">
<Child xmlns="www.fourthcoffee.com">
<DifferentChild xmlns="http://www.adventure-works.com">other content</DifferentChild>
</Child>
</Root>
Hinweise
Dieser Konstruktor erstellt ein Element mit den angegebenen Inhalten und Attributen.
Es gibt eine implizite Konvertierung von Zeichenfolge zu XName. Die typische Verwendung dieses Konstruktors besteht darin, eine Zeichenfolge als Parameter anzugeben, anstatt eine neue XNamezu erstellen.
Beim Erstellen eines Elements in einem Namespace besteht die typische Verwendung darin, die Ergänzungsoperatorüberladung mit XNamespace einer und einer Zeichenfolge zum Erstellen einer XNameZeichenfolge zu verwenden. Weitere Informationen finden Sie unter "Arbeiten mit XML-Namespaces".
Ausführliche Informationen zu den gültigen Inhalten, die an diesen Konstruktor übergeben werden können, finden Sie unter Gültiger Inhalt von XElement- und XDocument-Objekten.
Siehe auch
Gilt für
XElement(XName, Object[])
Initialisiert eine neue Instanz der XElement-Klasse mit dem angegebenen Namen und Inhalt.
public:
XElement(System::Xml::Linq::XName ^ name, ... cli::array <System::Object ^> ^ content);
public XElement (System.Xml.Linq.XName name, params object[] content);
public XElement (System.Xml.Linq.XName name, params object?[] content);
new System.Xml.Linq.XElement : System.Xml.Linq.XName * obj[] -> System.Xml.Linq.XElement
Public Sub New (name As XName, ParamArray content As Object())
Parameter
- content
- Object[]
Der ursprüngliche Inhalt des Elements.
Beispiele
Im folgenden Beispiel wird eine XML-Struktur erstellt. Der Inhalt des neuen Elements stammt aus einer LINQ-Abfrage.
XElement xmlTree1 = new XElement("Root",
new XElement("Child1", 1),
new XElement("Child2", 2),
new XElement("Child3", 3),
new XElement("Child4", 4),
new XElement("Child5", 5),
new XElement("Child6", 6)
);
XElement xmlTree2 = new XElement("Root",
from el in xmlTree1.Elements()
where((int)el >= 3 && (int)el <= 5)
select el
);
Console.WriteLine(xmlTree2);
Dim xmlTree1 As XElement = _
<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
<Child6>6</Child6>
</Root>
Dim xmlTree2 As XElement = _
<Root>
<%= From el In xmlTree1.Elements() _
Where el.Value >= 3 And el.Value <= 5 _
Select el %>
</Root>
Console.WriteLine(xmlTree2)
Dieses Beispiel erzeugt die folgende Ausgabe:
<Root>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
</Root>
Im folgenden Beispiel wird eine XML-Struktur mit einer Vielzahl von Inhaltstypen erstellt.
XElement root;
// String content:
root = new XElement("Root", "Some text");
Console.WriteLine(root);
// XElement object content:
root = new XElement("Root",
new XElement("NewChild", "n")
);
Console.WriteLine(root);
// XAttribute object content:
root = new XElement("Root",
new XAttribute("NewAttribute", "n")
);
Console.WriteLine(root);
// Double content:
double dbl = 12.345;
root = new XElement("Root", dbl);
Console.WriteLine(root);
// DateTime content:
DateTime dt = new DateTime(2006, 10, 6, 12, 30, 00);
root = new XElement("Root", dt);
Console.WriteLine(root);
// String array content:
// Any collection other than a collection of XElement or XAttribute objects
// are converted to strings. The strings are concatenated and added.
string[] stringArray = {
"abc",
"def",
"ghi"
};
root = new XElement("Root", stringArray);
Console.WriteLine(root);
// XElement object array content:
XElement[] ellArray = {
new XElement("NewChild1", 1),
new XElement("NewChild2", 2),
new XElement("NewChild3", 3)
};
root = new XElement("Root", ellArray);
Console.WriteLine(root);
// XAttribute object array content:
XAttribute[] attArray = {
new XAttribute("NewAtt1", 1),
new XAttribute("NewAtt2", 2),
new XAttribute("NewAtt3", 3)
};
root = new XElement("Root", attArray);
Console.WriteLine(root);
Dim root As XElement
' String content:
root = <Root>Some text</Root>
Console.WriteLine(root)
' XElement object content:
root = <Root>
<NewChild>n</NewChild>
</Root>
Console.WriteLine(root)
' XAttribute object content:
root = <Root NewAttribute="n"/>
Console.WriteLine(root)
' Double content:
Dim dbl As Double = 12.345
root = <Root><%= dbl %></Root>
Console.WriteLine(root)
' DateTime content:
Dim dt As DateTime = New DateTime(2006, 10, 6, 12, 30, 0)
root = <Root><%= dt %></Root>
Console.WriteLine(root)
' String array content:
' Any collection other than a collection of XElement or XAttribute objects
' are converted to strings. The strings are concatenated and added.
Dim stringArray As String() = { _
"abc", _
"def", _
"ghi" _
}
root = <Root><%= stringArray %></Root>
Console.WriteLine(root)
' XElement object array content:
Dim ellArray As XElement() = { _
<NewChild1>1</NewChild1>, _
<NewChild2>2</NewChild2>, _
<NewChild3>3</NewChild3> _
}
root = <Root><%= ellArray %></Root>
Console.WriteLine(root)
' XAttribute object array content
Dim attArray As XAttribute() = { _
New XAttribute("NewAtt1", 1), _
New XAttribute("NewAtt2", 2), _
New XAttribute("NewAtt3", 3) _
}
root = <Root><%= attArray %></Root>
Console.WriteLine(root)
Dieses Beispiel erzeugt die folgende Ausgabe:
<Root>Some text</Root>
<Root>
<NewChild>n</NewChild>
</Root>
<Root NewAttribute="n" />
<Root>12.345</Root>
<Root>2006-10-06T12:30:00</Root>
<Root>abcdefghi</Root>
<Root>
<NewChild1>1</NewChild1>
<NewChild2>2</NewChild2>
<NewChild3>3</NewChild3>
</Root>
<Root NewAtt1="1" NewAtt2="2" NewAtt3="3" />
Im folgenden Beispiel wird eine XML-Struktur in einem Namespace erstellt.
// Create an XML tree in a namespace.
XNamespace aw = "http://www.adventure-works.com";
XElement root = new XElement(aw + "Root",
new XElement(aw + "Child", "child content")
);
Console.WriteLine(root);
' Create an XML tree in a namespace.
Dim root As XElement = _
<Root xmlns='http://www.adventure-works.com'>
<Child>child content</Child>
</Root>
Console.WriteLine(root)
Dieses Beispiel erzeugt die folgende Ausgabe:
<Root xmlns="http://www.adventure-works.com">
<Child>child content</Child>
</Root>
Im folgenden Beispiel wird eine XML-Struktur mit geschachtelten Namespaces erstellt.
// Create an XML tree with nested namespaces.
XNamespace aw = "http://www.adventure-works.com";
XNamespace fc = "www.fourthcoffee.com";
XElement root = new XElement(aw + "Root",
new XElement(fc + "Child",
new XElement(aw + "DifferentChild", "other content")
)
);
Console.WriteLine(root);
' Create an XML tree with nested namespaces.
Dim root As XDocument = _
<?xml version='1.0'?>
<Root xmlns='http://www.adventure-works.com'>
<Child xmlns='www.fourthcoffee.com'>
<DifferentChild xmlns='http://www.adventure-works.com'>other content</DifferentChild>
</Child>
</Root>
Console.WriteLine(root)
Dieses Beispiel erzeugt die folgende Ausgabe:
<Root xmlns="http://www.adventure-works.com">
<Child xmlns="www.fourthcoffee.com">
<DifferentChild xmlns="http://www.adventure-works.com">other content</DifferentChild>
</Child>
</Root>
Hinweise
Dieser Konstruktor erstellt ein Element mit den angegebenen Inhalten und Attributen.
Es gibt eine implizite Konvertierung von Zeichenfolge zu XName. Die typische Verwendung dieses Konstruktors besteht darin, eine Zeichenfolge als Parameter anzugeben, anstatt eine neue XNamezu erstellen.
Beim Erstellen eines Elements in einem Namespace besteht die typische Verwendung darin, die Ergänzungsoperatorüberladung mit XNamespace einer und einer Zeichenfolge zum Erstellen einer XNameZeichenfolge zu verwenden. Weitere Informationen finden Sie unter "Arbeiten mit XML-Namespaces".
Ausführliche Informationen zu den gültigen Inhalten, die an diesen Konstruktor übergeben werden können, finden Sie unter Gültiger Inhalt von XElement- und XDocument-Objekten.