Hello R的XML包用户,
我在解析XML时遇到了一个奇怪的错误。它与在解析XML文件时遇到mdash和ndash等HTML实体有关。
这是我使用的代码:
InText = readLines(xmlFileName,n=-1)
Text = xmlValue(xmlRoot(xmlTreeParse(InText,trim=FALSE)))
我目前正在使用以下
删除这些实体,例如mdash和ndashInText = gsub("\\&mdash"," ",InText);
InText = gsub("\\&ndash"," ",InText);
但是这可能真的很乏味,因为我看到了可能的HTML.4.0实体列表。
关于如何在解析XML文件时消除这些问题的任何想法
非常感谢您的帮助和想法 Shivani
答案 0 :(得分:1)
如果您只想删除所有已命名的HTML实体,请使用正则表达式:
library("XML")
InText <- "<html>\
<head>\
<title>Test & Test again</title>\
</head>\
<body>Hello world</body>\
</html>"
InText <- gsub("\\&[^;]+;","",InText)
Text <- xmlValue(xmlRoot(xmlTreeParse(InText,trim=FALSE)))
答案 1 :(得分:1)
在XML包中尝试readHTML;它有强大的方法可以处理这些案例中的一些。另请参阅Scraping html tables into R data frames using the XML package。