TagSoup 是要走的路,正如 42 位已经提出的那样,我很惊讶你没有让它工作。
这是一个下载链接:http ://ccil.org/~cowan/XML/tagsoup/
这是一个完整的示例(使用 JDOM2)。输出显示属性的第一次出现a
从结果中消失了。
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import org.jdom2.Document;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.XMLOutputter;
public class ParseDuplicateAttributeWithTagSoup
{
public static void main(String[] args) throws Exception
{
String nonWellformed = "<?xml version='1.0' encoding='UTF-8'?><x a='1' a='2'/>";
InputStream is = new ByteArrayInputStream(nonWellformed.getBytes("UTF-8"));
SAXBuilder parser = new SAXBuilder("org.ccil.cowan.tagsoup.Parser");
Document doc = parser.build(is);
new XMLOutputter().output(doc, System.out);
}
}