次のようなXMLドキュメントがあります。
<Person>
<LastName>LastName1</LastName>
<FirstName>FirstName1</FirstName>
<MiddleName>MiddleName1</MiddleName>
</Person>
もともと私はこの構造を以下のように作成する方法を持っていました:
public XElement ToXML()
{
return new XElement("Person",
new XElement(this.LastName.ToXML()),
new XElement(this.FirstName.ToXML()),
new XElement(this.MiddleName.ToXML()));
}
Person問題は、ルート内のName値を使用するノード以外にも多くのノードがあることです。したがって、私が試したのは、、、、および要素をリファクタリングしてFirstName、それらの要素をaの代わりに返すメソッドを使用して独自の再利用可能なクラスに含めることでした(ルートは子という名前を必要とするクラスによって指定されるため、、など)LastNameMiddleNameToXMLDoc()XDocumentXElementPersonEmployee
これは私の新しいものToXMLDocです:
return new XDocument(new XElement(this.LastName.ToXML()),
new XElement(this.FirstName.ToXML()),
new XElement(this.MiddleName.ToXML()));
私の問題は、クラスによって追加されたルート内にこのコンテンツを追加したいということです。以下のようなことを試みましたが、コンストラクターを適切に使用しておらず、「あいまいなコンストラクター参照」エラーが発生します。XElementPerson
return new XElement("Person",
foreach (XElement xe in NameType.ToXMLDoc().Nodes())
{
new XElement(xe.Value);
}
);
メソッドからコンテンツを取得して、作成対象のノードにToXMLDoc()追加するにはどうすればよいですか?どんな助けでもありがたいです、ありがとう!XElementPerson