2009-01-08 52 views
2

HTML精简给出了这样的作为由于某种原因输出:错误的类型(未UTF-8)的删除重复的XML头

<?xml version="1.0" encoding="utf-16"?> 
<?xml version="1.0" encoding="utf-16"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta name="generator" content= 
"HTML Tidy for Linux/x86 (vers 11 February 2007), see www.w3.org" /> 
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" /> 

...rest of document 

所以有2 XML头文件和。 有没有办法删除第二个标题,将其更改为UTF-8,并使用XSL删除DOCTYPE?

回答

4

我认为最好是解决原来的问题。你使用HTML Tidy库吗?

尝试将output-encoding设置为utf8和add-xml-decl为false。可以通过将doctype属性设置为省略来禁止DOCTYPE节点。

2

是的。创建一个匹配你想接受的第一个子元素的模板,然后让它输出该元素的内容。

+0

...因为我在我的xml文件中有一个DTD导致错误... – eddy147 2009-01-08 12:31:18