gpt4 book ai didi

f# - 如何使用类型提供程序编辑 XML 文件?

转载 作者:行者123 更新时间:2023-12-04 14:58:11 25 4
gpt4 key购买 nike

我了解如何使用类型提供程序从 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自己的访问器(accessor)。有点遗憾,但我想当您想要只读访问该值时,它会使另一边的生活更轻松。

关于f# - 如何使用类型提供程序编辑 XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25768225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com