使用F#TypeProvider进行XML操作

使用F#TypeProvider进行XML操作,f#,type-providers,fsharp.data.typeproviders,F#,Type Providers,Fsharp.data.typeproviders,给定以下XML结构: <?xml version="1.0" encoding="utf-8"?> <Persons> <Person> <Name>Person 1</Name> <Age>30</Age> </Person> <Person> <Name>Person 2</Name> <Age>32<

给定以下XML结构:

<?xml version="1.0" encoding="utf-8"?>
<Persons>
  <Person>
    <Name>Person 1</Name>
    <Age>30</Age>
  </Person>
  <Person>
    <Name>Person 2</Name>
    <Age>32</Age>
  </Person>
</Persons>

方法
XElement.Add(content:obj)
接收内容对象

PersonXmlProvider.Person.ToString将类型序列化为XML,并将其作为文本节点添加到主文档中

因此,当它被序列化时,文本节点被转义,并且您可以在输出中看到XML实体

附言

解决方案是一直使用
XElement

let person = new PersonXmlProvider.Person("Person 3", 33)
personsXml.XElement.Add(person.XElement)

显示生成的XML。非常感谢#“不用客气,”马库斯克说。(:您可能还希望更新到最新版本,因为
<?xml version="1.0" encoding="utf-8"?>
<Persons>
  <Person>
    <Name>Person 1</Name>
    <Age>30</Age>
  </Person>
  <Person>
    <Name>Person 2</Name>
    <Age>32</Age>
  </Person>&lt;Person&gt;
  &lt;Name&gt;Person 3&lt;/Name&gt;
  &lt;Age&gt;33&lt;/Age&gt;
&lt;/Person&gt;
</Persons>
let person = new PersonXmlProvider.Person("Person 3", 33)
personsXml.XElement.Add(person.XElement)