我有程序需要parsing包含字符实体的XML。 程序本身并不需要让它们解决,而且它们的列表很大,并且会改变,所以我想避免对这些实体的明确的支持。 这是一个简单的例子: <?xml version="1.0" encoding="UTF-8"?> <xml>Hello there &something;</xml> 是否有一个Java XML API可以parsing文档而不parsing(非标准)字符实体? 理想情况下,它会把它们转化为一个特殊的事件或对象,可以专门处理,但我会find一个select,会默默地压制他们。 答案和例子: Skaffman给了我答案:使用IS_REPLACING_ENTITY_REFERENCES设置为false的StAXparsing器。 这里是我鞭打试验的代码: XMLInputFactory inputFactory = XMLInputFactory.newInstance(); inputFactory.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, false); XMLEventReader reader = inputFactory.createXMLEventReader( new FileInputStream("your file here")); while (reader.hasNext()) { XMLEvent event = reader.nextEvent(); if (event.isEntityReference()) { EntityReference ref = (EntityReference) event; System.out.println("Entity Reference: " + ref.getName()); } } 对于上面的XML,它将打印“ Entity Reference: […]