XElement コンストラクター

定義

XElement クラスの新しいインスタンスを初期化します。Initializes a new instance of the XElement class.

オーバーロード

XElement(XElement)

XElement クラスの新しいインスタンスを、別の XElement オブジェクトから初期化します。Initializes a new instance of the XElement class from another XElement object.

XElement(XName)

指定した名前を使用して、XElement クラスの新しいインスタンスを初期化します。Initializes a new instance of the XElement class with the specified name.

XElement(XStreamingElement)

XStreamingElement オブジェクトから XElement クラスの新しいインスタンスを初期化します。Initializes a new instance of the XElement class from an XStreamingElement object.

XElement(XName, Object)

指定した名前と内容を持つ XElement クラスの新しいインスタンスを初期化します。Initializes a new instance of the XElement class with the specified name and content.

XElement(XName, Object[])

指定した名前と内容を持つ XElement クラスの新しいインスタンスを初期化します。Initializes a new instance of the XElement class with the specified name and content.

次の例では、XML ツリーを作成します。The following example creates an XML tree. 新しい要素の内容は、LINQ クエリから取得されます。The content of the new element comes from a LINQ query.

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)  

この例を実行すると、次の出力が生成されます。This example produces the following output:

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

注釈

このコンストラクターに渡すことができる有効なコンテンツの詳細については、「 XElement オブジェクトと XDocument オブジェクトの有効なコンテンツ」を参照してください。For details about the valid content that can be passed to this constructor, see Valid Content of XElement and XDocument Objects.

String から XName への暗黙的な変換があります。There is an implicit conversion from string to XName. このコンストラクターの一般的な使用方法は、新しい @no__t を作成するのではなく、パラメーターとして文字列を指定することです。Typical use of this constructor is to specify a string as the parameter instead of creating a new XName.

名前空間に要素を作成する場合、通常は、加算演算子のオーバーロードを使用して XNamespace と文字列を指定し、XName を作成します。When creating an element in a namespace, typical use is to use the addition operator overload with an XNamespace and a string to create an XName. 詳細については、「 XML 名前空間の操作」を参照してください。For more information, see Working with XML Namespaces.

XElement(XElement)

XElement クラスの新しいインスタンスを、別の XElement オブジェクトから初期化します。Initializes a new instance of the XElement class from another XElement object.

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)

パラメーター

other
XElement

コピー元の XElement オブジェクト。An XElement object to copy from.

次の例では、XML ツリーを作成し、ツリーの複製を作成してから DeepEquals を呼び出します。これにより、2つの XML ツリーが等しいかどうかがテストされます。The following example creates an XML tree, creates a clone of the tree, and then calls DeepEquals, which tests whether the two XML trees are equal.

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

この例を実行すると、次の出力が生成されます。This example produces the following output:

xmlTree = treeClone: True  
xmlTree = treeClone: False  

注釈

このコンストラクターは、要素の詳細コピーを作成します。This constructor makes a deep copy of an element.

こちらもご覧ください

XElement(XName)

指定した名前を使用して、XElement クラスの新しいインスタンスを初期化します。Initializes a new instance of the XElement class with the specified name.

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)

パラメーター

name
XName

要素の名前を格納する XNameAn XName that contains the name of the element.

次の例では、コンテンツを含まない要素を作成します。The following example creates an element with no content.

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

この例を実行すると、次の出力が生成されます。This example produces the following output:

<Root />  

次の例では、コンテンツのない名前空間に要素を作成します。The following example creates an element in a namespace with no content. 詳細については、「 XML 名前空間の操作」を参照してください。For more information, see Working with 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  

この例を実行すると、次の出力が生成されます。This example produces the following output:

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

注釈

このコンストラクターは、コンテンツのない要素と属性を作成します。This constructor creates an element with no content and no attributes.

String から XName への暗黙的な変換があります。There is an implicit conversion from string to XName. このコンストラクターの一般的な使用方法は、新しい @no__t を作成するのではなく、パラメーターとして文字列を指定することです。Typical use of this constructor is to specify a string as the parameter instead of creating a new XName. 名前空間に要素を作成する場合、通常は、加算演算子のオーバーロードを使用して XNamespace と文字列を指定し、XName を作成します。When creating an element in a namespace, typical use is to use the addition operator overload with an XNamespace and a string to create an XName. 詳細については、「 XML 名前空間の操作」を参照してください。For more information, see Working with XML Namespaces.

こちらもご覧ください

XElement(XStreamingElement)

XStreamingElement オブジェクトから XElement クラスの新しいインスタンスを初期化します。Initializes a new instance of the XElement class from an XStreamingElement object.

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)

パラメーター

other
XStreamingElement

この XStreamingElement の内容に対して反復処理される、評価されていないクエリを格納する XElementAn XStreamingElement that contains unevaluated queries that will be iterated for the contents of this XElement.

次の例では、ソース XML ツリーを作成し、ソース XML ツリーに対するクエリから XStreamingElement を作成します。The following example creates a source XML tree, and then creates an XStreamingElement from a query on the source XML tree. 次に、@no__t 0 をコンソールにシリアル化し、ソース XML ツリーに新しい要素を追加してから、XStreamingElement をシリアル化します。It then serializes the XStreamingElement to the console, adds a new element to the source XML tree, and then serializes the XStreamingElement again. ソース XML ツリーに新しく追加された要素は、最初のシリアル化には含まれていませんが、2番目のシリアル化には含まれています。You can see that element newly added to the source XML tree is not included in the first serialization, but is included in the second.

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)  

この例を実行すると、次の出力が生成されます。This example produces the following output:

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

注釈

このコンストラクターは、指定された XStreamingElement の内容を反復処理し、その内容を含む要素を作成します。This constructor iterates through the contents of the specified XStreamingElement, and creates an element with its contents.

こちらもご覧ください

XElement(XName, Object)

指定した名前と内容を持つ XElement クラスの新しいインスタンスを初期化します。Initializes a new instance of the XElement class with the specified name and content.

public:
 XElement(System::Xml::Linq::XName ^ name, System::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)

パラメーター

name
XName

要素名を格納する XNameAn XName that contains the element name.

content
Object

要素の内容。The contents of the element.

次の例では、XML ツリーを作成します。The following example creates an XML tree. 新しい要素の内容は、LINQ クエリから取得されます。The content of the new element comes from a LINQ query.

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)  

この例を実行すると、次の出力が生成されます。This example produces the following output:

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

次の例では、さまざまな種類のコンテンツを使用して XML ツリーを作成します。The following example creates an XML tree with a variety of types of content.

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)  

この例を実行すると、次の出力が生成されます。This example produces the following output:

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

次の例では、名前空間に XML ツリーを作成します。The following example creates an XML tree in a namespace.

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

この例を実行すると、次の出力が生成されます。This example produces the following output:

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

次の例では、入れ子になった名前空間を持つ XML ツリーを作成します。The following example creates an XML tree with nested namespaces.

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

この例を実行すると、次の出力が生成されます。This example produces the following output:

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

注釈

このコンストラクターは、指定されたコンテンツと属性を使用して要素を作成します。This constructor creates an element with the specified content and attributes.

String から XName への暗黙的な変換があります。There is an implicit conversion from string to XName. このコンストラクターの一般的な使用方法は、新しい @no__t を作成するのではなく、パラメーターとして文字列を指定することです。Typical use of this constructor is to specify a string as the parameter instead of creating a new XName.

名前空間に要素を作成する場合、通常は、加算演算子のオーバーロードを使用して XNamespace と文字列を指定し、XName を作成します。When creating an element in a namespace, typical use is to use the addition operator overload with an XNamespace and a string to create an XName. 詳細については、「 XML 名前空間の操作」を参照してください。For more information, see Working with XML Namespaces.

このコンストラクターに渡すことができる有効なコンテンツの詳細については、「 XElement オブジェクトと XDocument オブジェクトの有効なコンテンツ」を参照してください。For details about the valid content that can be passed to this constructor, see Valid Content of XElement and XDocument Objects.

こちらもご覧ください

XElement(XName, Object[])

指定した名前と内容を持つ XElement クラスの新しいインスタンスを初期化します。Initializes a new instance of the XElement class with the specified name and content.

public:
 XElement(System::Xml::Linq::XName ^ name, ... cli::array <System::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())

パラメーター

name
XName

要素名を格納する XNameAn XName that contains the element name.

content
Object[]

要素の初期コンテンツ。The initial content of the element.

次の例では、XML ツリーを作成します。The following example creates an XML tree. 新しい要素の内容は、LINQ クエリから取得されます。The content of the new element comes from a LINQ query.

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)  

この例を実行すると、次の出力が生成されます。This example produces the following output:

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

次の例では、さまざまな種類のコンテンツを使用して XML ツリーを作成します。The following example creates an XML tree with a variety of types of content.

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)  

この例を実行すると、次の出力が生成されます。This example produces the following output:

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

次の例では、名前空間に XML ツリーを作成します。The following example creates an XML tree in a namespace.

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

この例を実行すると、次の出力が生成されます。This example produces the following output:

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

次の例では、入れ子になった名前空間を持つ XML ツリーを作成します。The following example creates an XML tree with nested namespaces.

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

この例を実行すると、次の出力が生成されます。This example produces the following output:

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

注釈

このコンストラクターは、指定されたコンテンツと属性を使用して要素を作成します。This constructor creates an element with the specified content and attributes.

String から XName への暗黙的な変換があります。There is an implicit conversion from string to XName. このコンストラクターの一般的な使用方法は、新しい @no__t を作成するのではなく、パラメーターとして文字列を指定することです。Typical use of this constructor is to specify a string as the parameter instead of creating a new XName.

名前空間に要素を作成する場合、通常は、加算演算子のオーバーロードを使用して XNamespace と文字列を指定し、XName を作成します。When creating an element in a namespace, typical use is to use the addition operator overload with an XNamespace and a string to create an XName. 詳細については、「 XML 名前空間の操作」を参照してください。For more information, see Working with XML Namespaces.

このコンストラクターに渡すことができる有効なコンテンツの詳細については、「 XElement オブジェクトと XDocument オブジェクトの有効なコンテンツ」を参照してください。For details about the valid content that can be passed to this constructor, see Valid Content of XElement and XDocument Objects.

こちらもご覧ください

適用対象