您好:)我从xml开始,我正在编写一个简单的xml文件。 我的问题很简单:有没有办法将double列表存储到这个xml文件中? 我无法真正想到一种有效的方式:/
感谢您的回答或指导:)
以下是我的代码示例:
`<state>
<name>Name state 2</name>
<x>x</x>
<y>y</y>
<width>w</width>
<height>h</height>
<nlinks>2</nlinks>
<effect>1</effect>
<signal>
<name>Signal 1</name>
<amplitude>3</amplitude> <!--parameter 3 -->
<duration>10</duration> <!--input 0 -->
<listOfPoints>...</listOfPoints>
</signal>
</state>`
答案 0 :(得分:1)
XML像树一样工作,
因此,如果您想在其中一个节点中找到一个列表,只需展开:
library(biomaRt)
# data
d <- read.table(text = "1 2665697 4665777 MIR201
1 10391435 12391516 MIR500
1 15106831 17106911 MIR122
1 23436535 25436616 MIR234
1 23436575 25436656 MIR488")
# specify the database
ensembl = useMart("ensembl", dataset = "hsapiens_gene_ensembl")
# loop through rows, get genes, then paste with collapse,
# and finally bind back with data d.
res <- cbind(
d,
genes = apply(d, 1, function(i){
x <- getBM(attributes=c("external_gene_name"),
filters = c("chromosome_name" , "start", "end"),
values = list(i[1], i[2], i[3]),
mart = ensembl)
# keeping only 3 genes, as output is too long.
# In your case remove below line
x <- head(x, 3)
# return genes, comma separated
paste(x$external_gene_name, collapse = ",")
})
)
res
# V1 V2 V3 V4 genes
# 1 1 2665697 4665777 MIR201 TTC34,AC242022.1,AL592464.2
# 2 1 10391435 12391516 MIR500 AL139424.2,PGD,AL139424.1
# 3 1 15106831 17106911 MIR122 KAZN,TMEM51-AS1,TMEM51
# 4 1 23436535 25436616 MIR234 ASAP3,E2F2,AL021154.1
# 5 1 23436575 25436656 MIR488 ASAP3,E2F2,AL021154.1
请参阅W3School Xml Tree或
有关编写XML的更多信息,请参阅Sitepoint tutorial。
答案 1 :(得分:0)
这会有所帮助: -
<marker>
<pose x="0" y="-1.3" theta="1.57" />
<geometry>
<point x="0" y="0" />
<point x="0" y="0.3" />
<point x="0.3" y="0.3" />
<point x="0.3" y="0" />
</geometry>
</marker>
答案 2 :(得分:0)
在没有架构的情况下,XML只有字符串:它由应用程序决定字符串是否代表双精度。
如果使用模式定义类型,则有两种可能的表示形式:您可以使用以空格分隔的列表(在属性值或文本内容中):
<points>1.2 1.5 1.6 -3.7</points>
或者你可以使用一系列子元素:
<points>
<point>1.2</point>
<point>1.5</point>
<point>1.6</point>
<point>1.7</point>
</points>
为了告知您哪个代表是&#34;更好&#34;,我们需要了解您的项目要求;但这两种形式都可以在流行且经过深思熟虑的XML词汇表中找到。