【发布时间】:2020-10-12 13:40:56
【问题描述】:
我正在尝试重新组织 XML 文件中的一些数据,我在其中删除列表中的所有其他节点,即
<TIME_SLOT TIME_SLOT_ID="ts1" TIME_VALUE="0"/>
<TIME_SLOT TIME_SLOT_ID="ts2" TIME_VALUE="2900"/>
<TIME_SLOT TIME_SLOT_ID="ts3" TIME_VALUE="2900"/>
<TIME_SLOT TIME_SLOT_ID="ts4" TIME_VALUE="4440"/>
<TIME_SLOT TIME_SLOT_ID="ts5" TIME_VALUE="4440"/>
<TIME_SLOT TIME_SLOT_ID="ts6" TIME_VALUE="7870"/>
<TIME_SLOT TIME_SLOT_ID="ts7" TIME_VALUE="7870"/>
etc...
变成
<TIME_SLOT TIME_SLOT_ID="ts2" TIME_VALUE="2900"/>
<TIME_SLOT TIME_SLOT_ID="ts4" TIME_VALUE="4440"/>
<TIME_SLOT TIME_SLOT_ID="ts6" TIME_VALUE="7870"/>
etc...
我使用以下代码删除了 XML 中的所有其他行,这导致了上面的数据:
doc <- xmlTreeParse("SCRIPTTEST.xml", useInternalNodes = TRUE)
time_xml <- getNodeSet(doc,"//*/TIME_SLOT")
ts_correct <- time_xml[seq(0, length(time_xml), 2)]
我将数据保存为 XML,因为结果列表稍后必须集成到另一个 XML 文件中。
现在,我想重命名每个条目,使其成为常规列表,即“ts1”、“ts2”、“ts3”等。 我认为带有一些 RegEx 的 for 循环可以做到这一点,但我无法想出一种方法来确保编号正确并且保留“ts”。我最好拥有它,这样我就可以在多个文件上运行脚本,但这是次要问题。
如果您能帮助解决这个问题,我们将不胜感激,请注意,我几乎是所有编程方面的初学者!
最好, 克莱门斯
【问题讨论】: