我需要从互联网上读取一个XML文件并重新塑造它.这是我迄今为止的XML文件和代码.
library(XML)
url='http://ClinicalTrials.gov/show/NCT00001400?displayxml=true'
doc = xmlParse(url,useInternalNode=TRUE)
Run Code Online (Sandbox Code Playgroud)
我能够使用XML包中的一些函数(例如,getNodeSet),但我不是专家,并且在互联网上有一些例子,但我自己无法解决这个问题.我也知道一些XPath,但这是4年前,我不是一个关于sapply和类似功能的专家.
但我的目标是:
我需要删除一整套关于位置的XML子分支,例如:<location> ... anything </location>.可以有多个具有位置数据的节点.我根本不需要输出中的细节.上面的XML文件始终符合XSD架构.调用根节点<clinical_study>.
生成的简化文件应写入名为"data-changed.xml"的新XML文件中.
我还需要重命名并从旧的嵌套位置移动一个分支
<eligibility>
<criteria>
<textblock>
Inclusion criteria are xyz
</textblock/>...
在新输出("data-changed.xml")中,结构应该表示不同的XML节点并且直接位于根节点下:
<eligibility_criteria>
Inclusion criteria are xyz
</eligibility_criteria>
所以我需要:
任何想法都非常感谢?
另外,如果您了解一个关于R内部XML解析的好(最近的!)教程(或者解决它的书籍章节,请分享参考).(我读过Duncan的小插曲,这些太过于先进(太简洁)).
小智 5
删除所有位置节点的代码:
r <- xmlRoot(doc)
removeNodes(r[names(r) == "location"])
Run Code Online (Sandbox Code Playgroud)