r - R中使用XML包的XPath

标签 r xpath

我是XPath的新手,但我知道它的功能强大。我正在查看link的源代码,只是想从以下两页中提取内容和用户名,为简单起见,它们位于源代码的顶部附近。

content="[Archive] Simburgur's Live Stream [Offline] Gears of War 3"


<div class="username">Simburgur</div>

这是我在R中的代码:
doc <- htmlParse("http://forums.epicgames.com/archive/index.php/t-672775.html")
xpathSApply(doc, "//head/meta[@name=\"description\"]")

哪个返回
[[1]]
<meta name="description" content="[Archive]  Simburgur's Live Stream [Offline] Gears of War 3" /> 

显然,在此示例中,我想要的只是content =引号内的内容,但被卡住了,似乎无法使我的表达式返回想要的字符串。

我重复。我是XPath的新手。 :)

最佳答案

使用:

/*/head/meta[@name='description']/@content

仍然选择一个属性节点,但是在PL中可能有一种简单的方法来获取属性的字符串值。

要只获取字符串值,请使用:
string(/*/head/meta[@name='description']/@content)

请注意:使用//缩写可能会导致XPath表达式的求值速度非常慢,因为它可能导致整个(子)树的线性遍历。

如果XML文档的结构是静态已知的,则始终避免使用//

关于r - R中使用XML包的XPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4870207/

相关文章:

r - 在 R markdown 中使用带空格的变量名

r - 如何将函数应用于 data.table 的行子集,其中每次调用都返回一个 data.table

xml - 用于解析 SOAP 响应的 XPath

xslt - 如何基于与正在搜索的树中的属性同名的属性,在循环中获取带有xpath的XML节点?

c# - 从 XML 文件的最后一个子级中选择值

php - XPath递归删除空的DOM节点?

r - 按组汇总所有列

reshape 世界银行数据格式

r - 按因子填充序列

java - 查找定位器 Selenium Webdriver - IE8 时遇到问题。无法浏览菜单