我有一个如下所示的 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()
方法将这些元素返回为 aXDocument
而不是 a XElement
(因为根将由需要名称 children 的类决定;可能是Person
,Employee
, ETC。)
这是我的新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
?任何帮助表示赞赏,谢谢!