У меня есть 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
, 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
? Любая помощь приветствуется, спасибо!
ToXML()
? - person Sergey Berezovskiy   schedule 04.02.2013