XElement Oluşturucular
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
XElement sınıfının yeni bir örneğini başlatır.
Aşırı Yüklemeler
XElement(XElement) |
Sınıfın XElement yeni bir örneğini başka bir XElement nesneden başlatır. |
XElement(XName) |
Belirtilen adla sınıfının yeni bir örneğini XElement başlatır. |
XElement(XStreamingElement) |
Bir nesneden sınıfının yeni bir XStreamingElement örneğini XElement başlatır. |
XElement(XName, Object) |
Belirtilen ad ve içerikle sınıfının yeni bir örneğini XElement başlatır. |
XElement(XName, Object[]) |
Belirtilen ad ve içerikle sınıfının yeni bir örneğini XElement başlatır. |
Örnekler
Aşağıdaki örnek bir XML ağacı oluşturur. Yeni öğenin içeriği bir LINQ sorgusundan gelir.
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)
Bu örnek aşağıdaki çıkışı oluşturur:
<Root>
<Child>3</Child>
<Child>4</Child>
<Child>5</Child>
</Root>
Açıklamalar
Bu oluşturucuya geçirilebilen geçerli içerik hakkında ayrıntılı bilgi için bkz. XElement ve XDocument Nesnelerinin Geçerli İçeriği.
dizesinden XNameöğesine örtük bir dönüştürme vardır. Bu oluşturucunun tipik kullanımı, yeni XNamebir oluşturmak yerine parametre olarak bir dize belirtmektir.
Bir ad alanında öğe oluştururken, genel olarak ekleme işleci aşırı yüklemesini ve XNamespace dizesini kullanarak bir XNameoluşturmaktır. Daha fazla bilgi için bkz . XML Ad Alanlarıyla Çalışma.
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)
Parametreler
Örnekler
Aşağıdaki örnek bir XML ağacı oluşturur, ağacın bir kopyasını oluşturur ve ardından iki XML ağacının eşit olup olmadığını test eden öğesini çağırır DeepEquals.
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))
Bu örnek aşağıdaki çıkışı oluşturur:
xmlTree = treeClone: True
xmlTree = treeClone: False
Açıklamalar
Bu oluşturucu bir öğenin derin bir kopyasını oluşturur.
Ayrıca bkz.
Şunlara uygulanır
XElement(XName)
Belirtilen adla sınıfının yeni bir örneğini XElement başlatır.
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)
Parametreler
Örnekler
Aşağıdaki örnek, içeriği olmayan bir öğe oluşturur.
XElement el = new XElement("Root");
Console.WriteLine(el);
Dim el As XElement = <Root/>
Console.WriteLine(el)
Bu örnek aşağıdaki çıkışı oluşturur:
<Root />
Aşağıdaki örnek, ad alanında içerik içermeyen bir öğe oluşturur. Daha fazla bilgi için bkz . XML Ad Alanlarıyla Çalışma.
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
Bu örnek aşağıdaki çıkışı oluşturur:
<Root xmlns="http://www.adventure-works.com" />
Açıklamalar
Bu oluşturucu, içeriği olmayan ve öznitelikleri olmayan bir öğe oluşturur.
dizesinden XNameöğesine örtük bir dönüştürme vardır. Bu oluşturucunun tipik kullanımı, yeni XNamebir oluşturmak yerine parametre olarak bir dize belirtmektir. Bir ad alanında öğe oluştururken, genel olarak ekleme işleci aşırı yüklemesini ve XNamespace dizesini kullanarak bir XNameoluşturmaktır. Daha fazla bilgi için bkz . XML Ad Alanlarıyla Çalışma.
Ayrıca bkz.
Şunlara uygulanır
XElement(XStreamingElement)
Bir nesneden sınıfının yeni bir XStreamingElement örneğini XElement başlatır.
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)
Parametreler
- other
- XStreamingElement
XStreamingElement Bu XElementöğesinin içeriği için yinelenecek, değerlendirilmemiş sorgular içeren bir .
Örnekler
Aşağıdaki örnek bir kaynak XML ağacı oluşturur ve ardından kaynak XML ağacındaki bir sorgudan bir XStreamingElement oluşturur. Daha sonra konsola serileştirir XStreamingElement , kaynak XML ağacına yeni bir öğe ekler ve sonra yeniden serileştirir XStreamingElement . Kaynak XML ağacına yeni eklenen öğenin ilk serileştirmeye dahil edilmediğini ancak ikincisine dahil olduğunu görebilirsiniz.
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)
Bu örnek aşağıdaki çıkışı oluşturur:
<NewRoot>
<Child2>2</Child2>
<Child3>3</Child3>
</NewRoot>
----
<NewRoot>
<Child2>2</Child2>
<Child3>3</Child3>
<Child4>4</Child4>
</NewRoot>
Açıklamalar
Bu oluşturucu, belirtilen XStreamingElementöğesinin içeriğinde yinelenir ve içeriğiyle bir öğe oluşturur.
Ayrıca bkz.
Şunlara uygulanır
XElement(XName, Object)
Belirtilen ad ve içerikle sınıfının yeni bir örneğini XElement başlatır.
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)
Parametreler
- content
- Object
öğesinin içeriği.
Örnekler
Aşağıdaki örnek bir XML ağacı oluşturur. Yeni öğenin içeriği bir LINQ sorgusundan gelir.
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)
Bu örnek aşağıdaki çıkışı oluşturur:
<Root>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
</Root>
Aşağıdaki örnek, çeşitli içerik türlerine sahip bir XML ağacı oluşturur.
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)
Bu örnek aşağıdaki çıkışı oluşturur:
<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" />
Aşağıdaki örnek, ad alanında bir XML ağacı oluşturur.
// 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)
Bu örnek aşağıdaki çıkışı oluşturur:
<Root xmlns="http://www.adventure-works.com">
<Child>child content</Child>
</Root>
Aşağıdaki örnek, iç içe ad alanlarına sahip bir XML ağacı oluşturur.
// 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)
Bu örnek aşağıdaki çıkışı oluşturur:
<Root xmlns="http://www.adventure-works.com">
<Child xmlns="www.fourthcoffee.com">
<DifferentChild xmlns="http://www.adventure-works.com">other content</DifferentChild>
</Child>
</Root>
Açıklamalar
Bu oluşturucu, belirtilen içerik ve özniteliklere sahip bir öğe oluşturur.
dizesinden XNameöğesine örtük bir dönüştürme vardır. Bu oluşturucunun tipik kullanımı, yeni XNamebir oluşturmak yerine parametre olarak bir dize belirtmektir.
Bir ad alanında öğe oluştururken, genel olarak ekleme işleci aşırı yüklemesini ve XNamespace dizesini kullanarak bir XNameoluşturmaktır. Daha fazla bilgi için bkz . XML Ad Alanlarıyla Çalışma.
Bu oluşturucuya geçirilebilen geçerli içerik hakkında ayrıntılı bilgi için bkz. XElement ve XDocument Nesnelerinin Geçerli İçeriği.
Ayrıca bkz.
Şunlara uygulanır
XElement(XName, Object[])
Belirtilen ad ve içerikle sınıfının yeni bir örneğini XElement başlatır.
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())
Parametreler
- content
- Object[]
öğesinin ilk içeriği.
Örnekler
Aşağıdaki örnek bir XML ağacı oluşturur. Yeni öğenin içeriği bir LINQ sorgusundan gelir.
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)
Bu örnek aşağıdaki çıkışı oluşturur:
<Root>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
</Root>
Aşağıdaki örnek, çeşitli içerik türlerine sahip bir XML ağacı oluşturur.
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)
Bu örnek aşağıdaki çıkışı oluşturur:
<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" />
Aşağıdaki örnek, ad alanında bir XML ağacı oluşturur.
// 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)
Bu örnek aşağıdaki çıkışı oluşturur:
<Root xmlns="http://www.adventure-works.com">
<Child>child content</Child>
</Root>
Aşağıdaki örnek, iç içe ad alanlarına sahip bir XML ağacı oluşturur.
// 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)
Bu örnek aşağıdaki çıkışı oluşturur:
<Root xmlns="http://www.adventure-works.com">
<Child xmlns="www.fourthcoffee.com">
<DifferentChild xmlns="http://www.adventure-works.com">other content</DifferentChild>
</Child>
</Root>
Açıklamalar
Bu oluşturucu, belirtilen içerik ve özniteliklere sahip bir öğe oluşturur.
dizesinden XNameöğesine örtük bir dönüştürme vardır. Bu oluşturucunun tipik kullanımı, yeni XNamebir oluşturmak yerine parametre olarak bir dize belirtmektir.
Bir ad alanında öğe oluştururken, genel olarak ekleme işleci aşırı yüklemesini ve XNamespace dizesini kullanarak bir XNameoluşturmaktır. Daha fazla bilgi için bkz . XML Ad Alanlarıyla Çalışma.
Bu oluşturucuya geçirilebilen geçerli içerik hakkında ayrıntılı bilgi için bkz. XElement ve XDocument Nesnelerinin Geçerli İçeriği.