在R中使用xml2包提取xml节点时出现问题
我试图从XML文件中提取所有loc节点,该文件的格式如下:在R中使用xml2包提取xml节点时出现问题,r,xml,xpath,xml2,R,Xml,Xpath,Xml2,我试图从XML文件中提取所有loc节点,该文件的格式如下: <urlset> <url> <loc>http://www.voa.org</loc> <lastmod>2018-09-06T05:00:09-04:00</lastmod> <changefreq>always</changefreq> <priority>1.0</priority
<urlset>
<url>
<loc>http://www.voa.org</loc>
<lastmod>2018-09-06T05:00:09-04:00</lastmod>
<changefreq>always</changefreq>
<priority>1.0</priority>
</url>
</urlset>
我输入的xpath是否有误?我真的被难住了
谢谢
voa.sites
是否与doc
相同?您成功的xml\u find\u all
调用是在doc
上进行的。将xml作为HTML读取,然后查找节点。正如其他人建议的那样,如果运行xml\u find\u all(doc,“//loc”)
将返回预期的节点,那么它将完成此任务。
require(xml2)
doc <- read_xml("<urlset>
<url>
<loc>http://www.url.org</loc>
<lastmod>2018-09-06T05:00:09-04:00</lastmod>
<changefreq>always</changefreq>
<priority>1.0</priority>
</url>
</urlset>")
xml_find_all(doc,"//*")
{xml_nodeset (6)}
[1] <urlset>\n <url>\n <loc>http://www.url.org</loc>\n <lastmod>20 ...
[2] <url>\n <loc>http://www.url.org</loc>\n <lastmod>2018-09-06T05:00:0 ...
[3] <loc>http://www.url.org</loc>
[4] <lastmod>2018-09-06T05:00:09-04:00</lastmod>
[5] <changefreq>always</changefreq>
[6] <priority>1.0</priority>
xml_find_all(voa.sites,"//loc")
{xml_nodeset (0)}