作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我使用以下代码解析了一个 XML 文件并得到如下结果:
url = htmlTreeParse("http://www.appannie.com/app/ios/candy-crush-saga/", useInternalNodes = T)
ItemList =getNodeSet(url, "//li/a/@title")
>ItemList
[[1]]
title
"Angry Birds Star Wars HD"
attr(,"class")
[1] "XMLAttributeValue"
[[2]]
title
"iShuffle Bowling 2"
attr(,"class")
[1] "XMLAttributeValue"
....
[[15]]
title
"Angry Birds Star Wars Free"
attr(,"class")
[1] "XMLAttributeValue"
attr(,"class")
[1] "XMLNodeSet"
我的问题是我想通过解析来获取游戏的名称。所以我尝试了这段代码(根据我处理 xmlValue 的经验)-
IL <- lapply(ItemList, function(x) c(xmlValue(x), xmlAttrs(x)[["href"]]))
但它最终给出了这个错误:
Error in UseMethod("xmlValue") : no applicable method for 'xmlValue' applied to an object of class "XMLAttributeValue"
我进行了大量谷歌搜索,但找不到处理 XMLAttributeValue 的解决方案。有人可以给我提示,让我知道 xmlValue 和 xmlAttributeValue 之间的区别吗?
最佳答案
感谢更新的问题和添加的示例 URL!
我认为对于 @title
,您已经了解了属性,这就是您无法解析 xmlValue
的原因。例如:
> htmlTreeParse("http://www.appannie.com/app/ios/candy-crush-saga/", useInternalNodes = TRUE)
> xpathSApply(url, "//li/a", function(x) c(xmlValue(x), xmlAttrs(x)[["href"]]))
更新:要过滤结果,您可以只尝试xpathSApply
“Customers Also Bought”div:
> xpathSApply(url, "//div[@class='app_content_section']/ul/li/a", function(x) c(xmlValue(x), xmlAttrs(x)[["href"]]))
关于xmlvalue 与 XMLAttributeValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15281411/
我使用以下代码解析了一个 XML 文件并得到如下结果: url = htmlTreeParse("http://www.appannie.com/app/ios/candy-crush-saga/",
我是一名优秀的程序员,十分优秀!