XElement Konstruktorer
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Initierar en ny instans av XElement klassen.
Överlagringar
| Name | Description |
|---|---|
| XElement(XElement) |
Initierar en ny instans av XElement klassen från ett annat XElement objekt. |
| XElement(XName) |
Initierar en ny instans av XElement klassen med det angivna namnet. |
| XElement(XStreamingElement) |
Initierar en ny instans av XElement klassen från ett XStreamingElement objekt. |
| XElement(XName, Object) |
Initierar en ny instans av XElement klassen med det angivna namnet och innehållet. |
| XElement(XName, Object[]) |
Initierar en ny instans av XElement klassen med det angivna namnet och innehållet. |
Exempel
I följande exempel skapas ett XML-träd. Innehållet i det nya elementet kommer från en LINQ-fråga.
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)
Det här exemplet genererar följande utdata:
<Root>
<Child>3</Child>
<Child>4</Child>
<Child>5</Child>
</Root>
Kommentarer
Mer information om det giltiga innehåll som kan skickas till den här konstruktorn finns i Giltigt innehåll för XElement- och XDocument-objekt.
Det finns en implicit konvertering från sträng till XName. Typisk användning av den här konstruktorn är att ange en sträng som parameter i stället för att skapa en ny XName.
När du skapar ett element i ett namnområde används vanligtvis additionsoperatorns överlagring med en XNamespace och en sträng för att skapa en XName. Mer information finns i Arbeta med XML-namnområden.
XElement(XElement)
- Källa:
- XElement.cs
- Källa:
- XElement.cs
- Källa:
- XElement.cs
- Källa:
- XElement.cs
- Källa:
- XElement.cs
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)
Parametrar
Exempel
I följande exempel skapas ett XML-träd, en klon av trädet skapas och sedan anropas DeepEquals, som testar om de två XML-träden är lika med.
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))
Det här exemplet genererar följande utdata:
xmlTree = treeClone: True
xmlTree = treeClone: False
Kommentarer
Den här konstruktorn gör en djup kopia av ett element.
Se även
Gäller för
XElement(XName)
- Källa:
- XElement.cs
- Källa:
- XElement.cs
- Källa:
- XElement.cs
- Källa:
- XElement.cs
- Källa:
- XElement.cs
Initierar en ny instans av XElement klassen med det angivna namnet.
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)
Parametrar
Exempel
I följande exempel skapas ett element utan innehåll.
XElement el = new XElement("Root");
Console.WriteLine(el);
Dim el As XElement = <Root/>
Console.WriteLine(el)
Det här exemplet genererar följande utdata:
<Root />
I följande exempel skapas ett element i ett namnområde utan innehåll. Mer information finns i Arbeta med XML-namnområden.
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
Det här exemplet genererar följande utdata:
<Root xmlns="http://www.adventure-works.com" />
Kommentarer
Den här konstruktorn skapar ett element utan innehåll och inga attribut.
Det finns en implicit konvertering från sträng till XName. Typisk användning av den här konstruktorn är att ange en sträng som parameter i stället för att skapa en ny XName. När du skapar ett element i ett namnområde används vanligtvis additionsoperatorns överlagring med en XNamespace och en sträng för att skapa en XName. Mer information finns i Arbeta med XML-namnområden.
Se även
Gäller för
XElement(XStreamingElement)
- Källa:
- XElement.cs
- Källa:
- XElement.cs
- Källa:
- XElement.cs
- Källa:
- XElement.cs
- Källa:
- XElement.cs
Initierar en ny instans av XElement klassen från ett 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)
Parametrar
- other
- XStreamingElement
En XStreamingElement som innehåller ovärdeerade frågor som ska itereras för innehållet i den här XElement.
Exempel
I följande exempel skapas ett XML-källträd och sedan skapas en XStreamingElement från en fråga i XML-källträdet. Sedan serialiseras XStreamingElement till -konsolen, ett nytt element läggs till i käll-XML-trädet och serialiseras XStreamingElement sedan igen. Du kan se att elementet som nyligen lagts till i käll-XML-trädet inte ingår i den första serialiseringen, utan ingår i det andra.
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)
Det här exemplet genererar följande utdata:
<NewRoot>
<Child2>2</Child2>
<Child3>3</Child3>
</NewRoot>
----
<NewRoot>
<Child2>2</Child2>
<Child3>3</Child3>
<Child4>4</Child4>
</NewRoot>
Kommentarer
Konstruktorn itererar genom innehållet i den angivna XStreamingElementoch skapar ett element med dess innehåll.
Se även
Gäller för
XElement(XName, Object)
- Källa:
- XElement.cs
- Källa:
- XElement.cs
- Källa:
- XElement.cs
- Källa:
- XElement.cs
- Källa:
- XElement.cs
Initierar en ny instans av XElement klassen med det angivna namnet och innehållet.
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)
Parametrar
- content
- Object
Innehållet i elementet.
Exempel
I följande exempel skapas ett XML-träd. Innehållet i det nya elementet kommer från en LINQ-fråga.
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)
Det här exemplet genererar följande utdata:
<Root>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
</Root>
I följande exempel skapas ett XML-träd med en mängd olika typer av innehåll.
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)
Det här exemplet genererar följande utdata:
<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" />
I följande exempel skapas ett XML-träd i ett namnområde.
// 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)
Det här exemplet genererar följande utdata:
<Root xmlns="http://www.adventure-works.com">
<Child>child content</Child>
</Root>
I följande exempel skapas ett XML-träd med kapslade namnområden.
// 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)
Det här exemplet genererar följande utdata:
<Root xmlns="http://www.adventure-works.com">
<Child xmlns="www.fourthcoffee.com">
<DifferentChild xmlns="http://www.adventure-works.com">other content</DifferentChild>
</Child>
</Root>
Kommentarer
Den här konstruktorn skapar ett element med det angivna innehållet och attributen.
Det finns en implicit konvertering från sträng till XName. Typisk användning av den här konstruktorn är att ange en sträng som parameter i stället för att skapa en ny XName.
När du skapar ett element i ett namnområde används vanligtvis additionsoperatorns överlagring med en XNamespace och en sträng för att skapa en XName. Mer information finns i Arbeta med XML-namnområden.
Mer information om det giltiga innehåll som kan skickas till den här konstruktorn finns i Giltigt innehåll för XElement- och XDocument-objekt.
Se även
Gäller för
XElement(XName, Object[])
- Källa:
- XElement.cs
- Källa:
- XElement.cs
- Källa:
- XElement.cs
- Källa:
- XElement.cs
- Källa:
- XElement.cs
Initierar en ny instans av XElement klassen med det angivna namnet och innehållet.
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())
Parametrar
- content
- Object[]
Det första innehållet i elementet.
Exempel
I följande exempel skapas ett XML-träd. Innehållet i det nya elementet kommer från en LINQ-fråga.
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)
Det här exemplet genererar följande utdata:
<Root>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
</Root>
I följande exempel skapas ett XML-träd med en mängd olika typer av innehåll.
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)
Det här exemplet genererar följande utdata:
<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" />
I följande exempel skapas ett XML-träd i ett namnområde.
// 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)
Det här exemplet genererar följande utdata:
<Root xmlns="http://www.adventure-works.com">
<Child>child content</Child>
</Root>
I följande exempel skapas ett XML-träd med kapslade namnområden.
// 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)
Det här exemplet genererar följande utdata:
<Root xmlns="http://www.adventure-works.com">
<Child xmlns="www.fourthcoffee.com">
<DifferentChild xmlns="http://www.adventure-works.com">other content</DifferentChild>
</Child>
</Root>
Kommentarer
Den här konstruktorn skapar ett element med det angivna innehållet och attributen.
Det finns en implicit konvertering från sträng till XName. Typisk användning av den här konstruktorn är att ange en sträng som parameter i stället för att skapa en ny XName.
När du skapar ett element i ett namnområde används vanligtvis additionsoperatorns överlagring med en XNamespace och en sträng för att skapa en XName. Mer information finns i Arbeta med XML-namnområden.
Mer information om det giltiga innehåll som kan skickas till den här konstruktorn finns i Giltigt innehåll för XElement- och XDocument-objekt.