xml - rvest 不提取自关闭 xml 节点

标签 xml r web-scraping rvest httr

尝试解析此 xml 文件: http://data.fcc.gov/api/block/find?latitude=48.9905&longitude=-122.2733&showall=false

rvest/xml2 接缝无法正确识别节点:

require(rvest) #which uses xml2 internally
doc <- read_xml("http://data.fcc.gov/api/block/find?latitude=48.9905&longitude=-122.2733&showall=false")
> doc
{xml_document}
<Response>
[1] <Block FIPS="530730102002091"/>
[2] <County FIPS="53073" name="Whatcom"/>
[3] <State FIPS="53" code="WA" name="Washington"/>

尝试获取我所做的County节点 - 导致错误的原因(没有匹配项)

doc %>% xml_node("County") # Error: No matches

我还通过 read_htmlhttr::GET 结合 read_htmlread_xml 进行了尝试。 .. 任何想法`

P.S.:示例取自此处:Parsing an XML response to a query 。我尝试通过 rvest

解决这个问题

最佳答案

该文档有一个命名空间 xmlns,您可以使用 xml_ns 检查它,并在您的 xpath 中使用前缀,

xml_find_one(doc, "//d1:County", xml_ns(doc))

关于xml - rvest 不提取自关闭 xml 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36166936/

相关文章:

python - 使用 python 从 XML 中提取文本

c# - 将 REST 响应转换为 XDocument 时出现问题

c# - 将解析 XML 字符串发送到 xDocument

r - 如何在 Jupyter 笔记本的 R 输出中显示图像表?

r - 用ggmap绘制热图?

html - 以编程方式检查是否使用了 CSS 文件

python - Splinter:按风格查找

xml - 有没有办法将 flex 中的标签映射到多个目录中的组件?

r - mlogit:需要 TRUE/FALSE 的缺失值

python - Scrapy:在2个蜘蛛之间传递数据