【发布时间】:2015-08-09 15:48:43
【问题描述】:
我在对 XHTML 文档执行 htmlParse() 时遇到问题。
当它作为“externalptr”加载到 R 中时,我可以看到在文件顶部添加了一行:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
我不想让这一行出现,因为它破坏了我的应用程序。我想在 htmlParse() 函数中删除它,而不必为我拥有的每个 XHTML 手动删除这一行。
有什么建议吗?我曾尝试更改传递给函数htmlParse()的一些参数,但此时尝试使用后,我没有找到。
如果有帮助,这里是我解析的 XHTML 的第一行:
<?xml version="1.0" encoding="utf-8" ?>
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xml:lang="es">
<head>
<meta charset="utf-8" />
【问题讨论】:
-
您需要
<?xml version ...>行吗?如果没有,请使用xmlRoot(doc) -
感谢您的回答。但它也打破了它。它是从 epub 中提取的文件,如果我删除该行,它就无法在我的 iPad 的 iBooks 中加载。还没有尝试过安卓等其他平台。
-
我们真的可以使用更多的代码和数据来提供帮助。您如何提取生成的 HTML?如果是
saveXML,为什么不直接用gsub替换第一行(虽然saveXML默认应该加上<xml…前缀。 -
谢谢大家。最后,你们俩都帮助我找到了解决方案。我尝试使用
xmlRoot(),然后使用带有该前缀的saveXML()保存,最后出现的问题是编码错误,因为我使用的是西里尔字母和拉丁字母混合。尝试在 Windows 下更改编码但没有成功。终于在 Linux 下工作了。 -
酷。您应该添加您所做的作为答案。它会帮助其他人,您可以在几天内接受答案。
标签: html xml r xml-parsing