Reference page
XML嵌入在返回的HTML页面的<pre>
标记下。我可以提取<pre>
标记的内容,但无法将其正确转换为XML。我尝试使用NodeSet类的to_xml
方法,但似乎行尾(\n
)扰乱了解析。
下面是我的代码片段:
url = "http://www.ncbi.nlm.nih.gov/pubmed/?term=NS044283[GR]&dispmax=200&report=xml"
doc = Nokogiri::XML(open(url))
pre = doc.xpath('//pre')
xml = pre.to_xml
contents = Nokogiri::XML(xml)
articles = contents.xpath('\\PubmedArticle')
(article = [])
3条答案
按热度按时间vojdkbi01#
因为无论如何都要使用Nokogiri来解析它,所以只需调用
content
而不是to_xml
:rhfm7lfc2#
正在检索的文档不是有效的XML或HTML。为创建它的人感到羞耻。
下面是前200个字符,显示了他们的一些困惑:
该函数返回:
幸运的是,或者,也许是决定性的,Nokogiri通过对格式错误的HTML有点宽容来解决这个问题。
6ovsh4lw3#
嵌入的XML无效(HTML转义)。请尝试取消转义