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

如何读取XML输入文件,操作一些节点(删除并重命名一些)并将输出写

发布时间:2020-12-16 23:22:58 所属栏目:百科 来源:网络整理
导读:我需要从互联网上读取一个 XML文件并重新塑造它. 这是我迄今为止的XML文件和代码. library(XML)url='http://ClinicalTrials.gov/show/NCT00001400?displayxml=true' doc = xmlParse(url,useInternalNode=TRUE) 我能够使用XML包中的一些函数(例如,getNodeSet)
我需要从互联网上读取一个 XML文件并重新塑造它.
这是我迄今为止的XML文件和代码.

library(XML)
url='http://ClinicalTrials.gov/show/NCT00001400?displayxml=true'  
doc = xmlParse(url,useInternalNode=TRUE)

我能够使用XML包中的一些函数(例如,getNodeSet),但我不是专家,在互联网上有一些例子,但我自己无法解决这个问题.我也知道一些XPath,但这是4年前,我不是一个关于sapply和类似功能的专家.

但我的目标是:

>我需要删除一组关于位置的XML子分支,例如:< location> ……任何< / location>.可以有多个具有位置数据的节点.我根本不需要输出中的细节.上面的XML文件始终符合XSD架构.根节点称为< clinical_study>.
>生成的简化文件应写入名为“data-changed.xml”的新XML文件中.
>我还需要重命名并从旧的嵌套位置移动一个分支

<合格>
???<标准>
?????<正文块>
???????包含标准是xyz
?????< /正文块/> …
>在新输出(“data-changed.xml”)中,结构应该说不同的XML节点并且直接位于根节点下:

< eligibility_criteria>
???包含标准是xyz
< / eligibility_criteria>

所以我需要:

>将XML读入内存
>操纵树(在某处修剪)
>将一些XML节点移动到一个新的位置并以新的名称和
>编写生成的XML输出文件.

任何想法都非常感谢?

另外,如果您了解一个关于R内部XML解析的好(最近的!)教程(或者解决它的书籍章节,请分享参考). (我读过Duncan的小插曲,这些太过于先进(太简洁)).

解决方法

删除所有位置节点的代码:

r <- xmlRoot(doc)
removeNodes(r[names(r) == "location"])

(编辑:李大同)

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

    推荐文章
      热点阅读