使用F#TypeProvider进行XML操作
发布时间:2020-12-16 23:03:46 所属栏目:百科 来源:网络整理
导读:给定以下 XML结构: ?xml version="1.0" encoding="utf-8"?Persons Person NamePerson 1/Name Age30/Age /Person Person NamePerson 2/Name Age32/Age /Person/Persons 我想在集合中添加一个Person,我希望可以使用Xml TypeProvider API完成. 我的方法如下:
给定以下
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> 我想在集合中添加一个Person,我希望可以使用Xml TypeProvider API完成. 我的方法如下: type PersonXmlProvider = XmlProvider<""".Persons.xml"""> let personsXml = PersonXmlProvider.GetSample() personsXml.XElement.Add(new PersonXmlProvider.Person("Person 3",33)) personsXml.XElement.Save("Persons.xml") 怎么了: 意外: 我错过了什么? 文档说UTF-8是默认值. 更新 产生的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><Person> <Name>Person 3</Name> <Age>33</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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容