我觉得这很容易,但我无法让它发挥作用。
假设我有这个节点
{xml_document}
<var ID="V512" name="supqad1" files="F1" dcml="0" intrvl="discrete">
[1] <location width="1"/>
[2] <labl>\nAdministration of supplementary questionnaire 1\n</labl>
[3] <valrng>\n <range min="1" max="3"/>\n</valrng>
[4] <invalrng>\n <range min="6" max="9"/>\n</invalrng>
[5] <sumStat type="vald">\n18644\n</sumStat>
[6] <sumStat type="invd">\n24356\n</sumStat>
[7] <catgry>\n <catValu>\n1\n</catValu>\n <labl>\nCompleted by respondent, no help from you\n</labl>\n</catgry>
[8] <catgry>\n <catValu>\n2\n</catValu>\n <labl>\nCompleted by respondent, some help from you\n</labl>\n</catgry>
[9] <catgry>\n <catValu>\n3\n</catValu>\n <labl>\nFace to face interview\n</labl>\n</catgry>
[10] <catgry missing="Y">\n <catValu>\n6\n</catValu>\n <labl>\nNot applicable\n</labl>\n</catgry>
[11] <catgry missing="Y">\n <catValu>\n9\n</catValu>\n <labl>\nNo answer\n</labl>\n</catgry>
[12] <varFormat type="numeric" schema="other"/>
我只想将第13个孩子添加到节点中,如下所示:
<whatever> <other> hello </other> </whatever>
我确实查看了来自xml2
的修改小插图但我无法使其工作,因为add_new_child
将<
个字符转换为搜索到的xml字符。
有什么想法吗?
test.xml
:
<var ID="V512" name="supqad1" files="F1" dcml="0" intrvl="discrete">
<location width="1"/>
<labl>
Administration of supplementary questionnaire 1
</labl>
<valrng>
<range min="1" max="3"/>
</valrng>
<invalrng>
<range min="6" max="9"/>
</invalrng>
<sumStat type="vald">
18644
</sumStat>
<sumStat type="invd">
24356
</sumStat>
<catgry>
<catValu>
1
</catValu>
<labl>
Completed by respondent, no help from you
</labl>
</catgry>
<catgry>
<catValu>
2
</catValu>
<labl>
Completed by respondent, some help from you
</labl>
</catgry>
<catgry>
<catValu>
3
</catValu>
<labl>
Face to face interview
</labl>
</catgry>
<catgry missing="Y">
<catValu>
6
</catValu>
<labl>
Not applicable
</labl>
</catgry>
<catgry missing="Y">
<catValu>
9
</catValu>
<labl>
No answer
</labl>
</catgry>
<varFormat type="numeric" schema="other"/>
</var>
答案 0 :(得分:0)
您可以像这样添加新节点:
my_xml <- read_xml("<fruits><apple/><banana/><grape/></fruits>")
my_xml
{xml_document}
<fruits>
[1] <apple/>
[2] <banana/>
[3] <grape/>
my_xml %>%
xml_add_child("whatever") %>%
xml_add_child("other", "hello")
my_xml
{xml_document}
<fruits>
[1] <apple/>
[2] <banana/>
[3] <grape/>
[4] <whatever>\n <other>hello</other>\n</whatever>
答案 1 :(得分:0)
作为替代方案,在xml2
小插图之后,使用与史蒂文相同的示例:
my_xml <- read_xml("<fruits><apple/><banana/><grape/></fruits>")
xml_add_child(my_xml, read_xml("<whatever> <other> hello </other> </whatever>"))