2
我想要在藥庫中獲得所有藥物名稱(如Lepirudin)。該drugbank.xml下載drugbank通過Xpath中的一個xml文件中的節點獲取值R
require(XML)
drugbank<- xmlParse("drugbank.xml")
tmp <- getNodeSet(drugbank, "//drug/name")
然而,tmp
是一個空列表。只是找不到有什麼問題。謝謝。
更新(A再現的示例):
require(XML)
xf <- '<?xml version="1.0" encoding="UTF-8"?>
<drugbank xmlns="http://www.drugbank.ca" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.drugbank.ca http://www.drugbank.ca/docs/drugbank.xsd" version="4.3">
<drug type="biotech" created="2005-06-13" updated="2015-02-23">
<drugbank-id primary="true">DB00001</drugbank-id>
<drugbank-id>BIOD00024</drugbank-id>
<drugbank-id>BTD00024</drugbank-id>
<name>Lepirudin</name>
</drug>
<drug type="biotech" created="2005-06-13" updated="2011-07-31">
<drugbank-id primary="true">DB00002</drugbank-id>
<drugbank-id>BIOD00071</drugbank-id>
<drugbank-id>BTD00071</drugbank-id>
<name>Cetuximab</name>
</drug>
</drugbank>
'
drugbank<- xmlParse(xf, asText=TRUE)
tmp <- getNodeSet(drugbank, "//drug/name")
你應該包括[重複的例子(HTTP:/ /stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)在你的問題。一種不涉及下載和解壓縮大型XML文件的方法。 – MrFlick
@MFFlick謝謝。請參閱更新。 –