f# – 如何使用类型提供程序编辑XML文件?
发布时间:2020-12-16 23:12:08  所属栏目:百科  来源:网络整理 
            导读:我理解如何使用类型提供程序从 XML源检索数据.但是,我需要修改 XML的特定部分并将其保存到磁盘.我尝试使用 - 为节点分配值,但该属性是只读的. 例如: let doc = MyXml.load fileNamedoc.ItemId.Id - "newId" // doesn't workdoc | saveXml 有一个similar que
                
                
                
            | 
                         
 我理解如何使用类型提供程序从 
 XML源检索数据.但是,我需要修改 
 XML的特定部分并将其保存到磁盘.我尝试使用< - 为节点分配值,但该属性是只读的. 例如: 
  
  
let doc = MyXml.load fileName doc.ItemId.Id <- "newId" // doesn't work doc |> saveXml 有一个similar question for JSON,其中建议是创建一个新对象,但这是专门针对XML的. 解决方法
 在研究我的问题时,我发现您可以使用.XElement访问器来获取对可变XElement对象的引用.因此,解决方案是: 
  
  
  
        let doc = MyXml.load fileName doc.ItemId.XElement.Element(XName.Get "Id").Value <- "newId" // tada doc.XDocument.Save(...) 请注意,如果要修改叶节点,则必须在父级上使用.XElement访问器.这是因为叶节点的类型是基元,并且没有自己的.XElement访问器.有点羞耻,但我想当你想要只读访问价值时,它会使另一方的生活更轻松. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
