Udostępnij za pośrednictwem


XElement Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy XElement.

Przeciążenia

XElement(XElement)

Inicjuje nowe wystąpienie klasy XElement z innego obiektu XElement.

XElement(XName)

Inicjuje nowe wystąpienie klasy XElement o określonej nazwie.

XElement(XStreamingElement)

Inicjuje nowe wystąpienie klasy XElement z obiektu XStreamingElement.

XElement(XName, Object)

Inicjuje nowe wystąpienie klasy XElement o określonej nazwie i zawartości.

XElement(XName, Object[])

Inicjuje nowe wystąpienie klasy XElement o określonej nazwie i zawartości.

Przykłady

Poniższy przykład tworzy drzewo XML. Zawartość nowego elementu pochodzi z zapytania LINQ.

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)

W tym przykładzie są generowane następujące dane wyjściowe:

<Root>
  <Child>3</Child>
  <Child>4</Child>
  <Child>5</Child>
</Root>

Uwagi

Aby uzyskać szczegółowe informacje o prawidłowej zawartości, którą można przekazać do tego konstruktora, zobacz Prawidłowa zawartość elementów XElement i XDocument Objects.

Istnieje niejawna konwersja z ciągu na XName. Typowym zastosowaniem tego konstruktora jest określenie ciągu jako parametru zamiast tworzenia nowego XName.

Podczas tworzenia elementu w przestrzeni nazw typowe użycie polega na użyciu przeciążenia operatora dodawania z XNamespace i ciągu w celu utworzenia XName. Aby uzyskać więcej informacji, zobacz Praca z przestrzeniami nazw XML.

XElement(XElement)

Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs

Inicjuje nowe wystąpienie klasy XElement z innego obiektu 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)

Parametry

other
XElement

Obiekt XElement do skopiowania.

Przykłady

Poniższy przykład tworzy drzewo XML, tworzy klon drzewa, a następnie wywołuje metodę DeepEquals, która sprawdza, czy dwa drzewa XML są równe.

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))

W tym przykładzie są generowane następujące dane wyjściowe:

xmlTree = treeClone: True
xmlTree = treeClone: False

Uwagi

Ten konstruktor tworzy głęboką kopię elementu.

Zobacz też

Dotyczy

XElement(XName)

Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs

Inicjuje nowe wystąpienie klasy XElement o określonej nazwie.

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)

Parametry

name
XName

XName, który zawiera nazwę elementu.

Przykłady

Poniższy przykład tworzy element bez zawartości.

XElement el = new XElement("Root");
Console.WriteLine(el);
Dim el As XElement = <Root/>
Console.WriteLine(el)

W tym przykładzie są generowane następujące dane wyjściowe:

<Root />

Poniższy przykład tworzy element w przestrzeni nazw bez zawartości. Aby uzyskać więcej informacji, zobacz Praca z przestrzeniami nazw XML.

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

W tym przykładzie są generowane następujące dane wyjściowe:

<Root xmlns="http://www.adventure-works.com" />

Uwagi

Ten konstruktor tworzy element bez zawartości i żadnych atrybutów.

Istnieje niejawna konwersja z ciągu na XName. Typowym zastosowaniem tego konstruktora jest określenie ciągu jako parametru zamiast tworzenia nowego XName. Podczas tworzenia elementu w przestrzeni nazw typowe użycie polega na użyciu przeciążenia operatora dodawania z XNamespace i ciągu w celu utworzenia XName. Aby uzyskać więcej informacji, zobacz Praca z przestrzeniami nazw XML.

Zobacz też

Dotyczy

XElement(XStreamingElement)

Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs

Inicjuje nowe wystąpienie klasy XElement z obiektu XStreamingElement.

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)

Parametry

other
XStreamingElement

XStreamingElement, który zawiera nieszacowane zapytania, które będą iterowane dla zawartości tego XElement.

Przykłady

Poniższy przykład tworzy źródłowe drzewo XML, a następnie tworzy XStreamingElement na podstawie zapytania w drzewie źródłowym XML. Następnie serializuje XStreamingElement w konsoli, dodaje nowy element do źródłowego drzewa XML, a następnie serializuje XStreamingElement ponownie. Widać, że nowo dodany element do źródłowego drzewa XML nie jest uwzględniony w pierwszej serializacji, ale jest uwzględniony w drugim.

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)

W tym przykładzie są generowane następujące dane wyjściowe:

<NewRoot>
  <Child2>2</Child2>
  <Child3>3</Child3>
</NewRoot>
----
<NewRoot>
  <Child2>2</Child2>
  <Child3>3</Child3>
  <Child4>4</Child4>
</NewRoot>

Uwagi

Ten konstruktor iteruje zawartość określonego XStreamingElementi tworzy element z jego zawartością.

Zobacz też

Dotyczy

XElement(XName, Object)

Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs

Inicjuje nowe wystąpienie klasy XElement o określonej nazwie i zawartości.

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)

Parametry

name
XName

XName, który zawiera nazwę elementu.

content
Object

Zawartość elementu.

Przykłady

Poniższy przykład tworzy drzewo XML. Zawartość nowego elementu pochodzi z zapytania LINQ.

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)

W tym przykładzie są generowane następujące dane wyjściowe:

<Root>
  <Child3>3</Child3>
  <Child4>4</Child4>
  <Child5>5</Child5>
</Root>

Poniższy przykład tworzy drzewo XML z różnymi typami zawartości.

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)

W tym przykładzie są generowane następujące dane wyjściowe:

<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" />

Poniższy przykład tworzy drzewo XML w przestrzeni nazw.

// 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)

W tym przykładzie są generowane następujące dane wyjściowe:

<Root xmlns="http://www.adventure-works.com">
  <Child>child content</Child>
</Root>

Poniższy przykład tworzy drzewo XML z zagnieżdżonych przestrzeni nazw.

// 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)

W tym przykładzie są generowane następujące dane wyjściowe:

<Root xmlns="http://www.adventure-works.com">
  <Child xmlns="www.fourthcoffee.com">
    <DifferentChild xmlns="http://www.adventure-works.com">other content</DifferentChild>
  </Child>
</Root>

Uwagi

Ten konstruktor tworzy element z określoną zawartością i atrybutami.

Istnieje niejawna konwersja z ciągu na XName. Typowym zastosowaniem tego konstruktora jest określenie ciągu jako parametru zamiast tworzenia nowego XName.

Podczas tworzenia elementu w przestrzeni nazw typowe użycie polega na użyciu przeciążenia operatora dodawania z XNamespace i ciągu w celu utworzenia XName. Aby uzyskać więcej informacji, zobacz Praca z przestrzeniami nazw XML.

Aby uzyskać szczegółowe informacje o prawidłowej zawartości, którą można przekazać do tego konstruktora, zobacz Prawidłowa zawartość elementów XElement i XDocument Objects.

Zobacz też

Dotyczy

XElement(XName, Object[])

Źródło:
XElement.cs
Źródło:
XElement.cs
Źródło:
XElement.cs

Inicjuje nowe wystąpienie klasy XElement o określonej nazwie i zawartości.

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())

Parametry

name
XName

XName, który zawiera nazwę elementu.

content
Object[]

Początkowa zawartość elementu.

Przykłady

Poniższy przykład tworzy drzewo XML. Zawartość nowego elementu pochodzi z zapytania LINQ.

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)

W tym przykładzie są generowane następujące dane wyjściowe:

<Root>
  <Child3>3</Child3>
  <Child4>4</Child4>
  <Child5>5</Child5>
</Root>

Poniższy przykład tworzy drzewo XML z różnymi typami zawartości.

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)

W tym przykładzie są generowane następujące dane wyjściowe:

<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" />

Poniższy przykład tworzy drzewo XML w przestrzeni nazw.

// 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)

W tym przykładzie są generowane następujące dane wyjściowe:

<Root xmlns="http://www.adventure-works.com">
  <Child>child content</Child>
</Root>

Poniższy przykład tworzy drzewo XML z zagnieżdżonych przestrzeni nazw.

// 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)

W tym przykładzie są generowane następujące dane wyjściowe:

<Root xmlns="http://www.adventure-works.com">
  <Child xmlns="www.fourthcoffee.com">
    <DifferentChild xmlns="http://www.adventure-works.com">other content</DifferentChild>
  </Child>
</Root>

Uwagi

Ten konstruktor tworzy element z określoną zawartością i atrybutami.

Istnieje niejawna konwersja z ciągu na XName. Typowym zastosowaniem tego konstruktora jest określenie ciągu jako parametru zamiast tworzenia nowego XName.

Podczas tworzenia elementu w przestrzeni nazw typowe użycie polega na użyciu przeciążenia operatora dodawania z XNamespace i ciągu w celu utworzenia XName. Aby uzyskać więcej informacji, zobacz Praca z przestrzeniami nazw XML.

Aby uzyskać szczegółowe informacje o prawidłowej zawartości, którą można przekazać do tego konstruktora, zobacz Prawidłowa zawartość elementów XElement i XDocument Objects.

Zobacz też

Dotyczy