我一直在尝试创建XML。为此,我在R中使用XML库。
top = newXMLNode("A")
newXMLnode("Node1",attrs=c(id=123,dt="2017-01-21 00:00:05"),parent=top)
这应该创建一个XML
<A>
<Node1 id="123" dt="2017-01-21 00:00:05"/>
</A>
但是发生了什么,而不是将dt存储为日期时间,R在内部将其转换为数字,然后输出为
<Node1 id="123" dt="1485043200"/>
我尝试使用lubridate的ymd()函数转换它,如.posixct(),as.date()。全部这样可以保持日期时间格式正确,但只要我将其分配给某些内容,就会更改为数字。
> u <- as.POSIXct("2017-01-21 00:00:05",origin="1970-01-01")
> u
> "2017-01-21 00:00:05 CST"
> addAttributes(Node1,xyz=u)
<Node1 id="123" dt="1485043200" xyz="1485043200"/>
答案 0 :(得分:0)
解决方案非常简单,你做了小错字。您使用newXMLnode
代替newXMLNode
。请仔细阅读以下R代码段:
> top = newXMLNode("A")
> newXMLNode("Node1",attrs=c(id=123,dt="2017-01-21 00:00:05"),parent=top)
<Node1 id="123" dt="2017-01-21 00:00:05"/>
> top
<A>
<Node1 id="123" dt="2017-01-21 00:00:05"/>
</A>
希望它适合你!