微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我需要从互联网上读取一个 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"])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。