次のような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の代わりに返すメソッドを使用して独自の再利用可能なクラスに含めることでした(ルートは子という名前を必要とするクラスによって指定されるため、、など)LastName
MiddleName
ToXMLDoc()
XDocument
XElement
Person
Employee
これは私の新しいものToXMLDoc
です:
return new XDocument(new XElement(this.LastName.ToXML()),
new XElement(this.FirstName.ToXML()),
new XElement(this.MiddleName.ToXML()));
私の問題は、クラスによって追加されたルート内にこのコンテンツを追加したいということです。以下のようなことを試みましたが、コンストラクターを適切に使用しておらず、「あいまいなコンストラクター参照」エラーが発生します。XElement
Person
return new XElement("Person",
foreach (XElement xe in NameType.ToXMLDoc().Nodes())
{
new XElement(xe.Value);
}
);
メソッドからコンテンツを取得して、作成対象のノードにToXMLDoc()
追加するにはどうすればよいですか?どんな助けでもありがたいです、ありがとう!XElement
Person