加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在F#中使用LINQ to XML提取特定标签?

发布时间:2020-12-16 07:46:58 所属栏目:百科 来源:网络整理
导读:我有一个 XML文件,我在F#中打开这样的文件: let Bookmarks(xmlFile:string) = let xml = XDocument.Load(xmlFile) 一旦我有了XDocument,我需要使用LINQ to XML导航它并提取所有特定的标签.我的部分解决方案是: let xname (tag:string) = XName.Get(tag)let
我有一个 XML文件,我在F#中打开这样的文件:
let Bookmarks(xmlFile:string) = 
    let xml = XDocument.Load(xmlFile)

一旦我有了XDocument,我需要使用LINQ to XML导航它并提取所有特定的标签.我的部分解决方案是:

let xname (tag:string) = XName.Get(tag)
let tagUrl (tag:XElement) = let attribute = tag.Attribute(xname "href")
                            attribute.Value
let Bookmarks(xmlFile:string) = 
    let xml = XDocument.Load(xmlFile)
    xml.Elements <| xname "A" |> Seq.map(tagUrl)

如何从XML文件中提取特定标记?

#light
open System
open System.Xml.Linq

let xname s = XName.Get(s)
let bookmarks (xmlFile : string) = 
    let xd = XDocument.Load xmlFile
    xd.Descendants <| xname "bookmark"

这将找到“书签”的所有后代元素.如果您只想要直接后代,请使用Elements方法(xd.Root.Elements< | xname“,无论如何”).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读