【发布时间】:2009-03-10 22:41:05
【问题描述】:
我想将 XML 文件的一些片段存储在单独的文件中。 看来,没有办法直接做到这一点: 读取块失败。
我总是得到异常 “javax.xml.transform.TransformerException: org.xml.sax.SAXParseException: 文档中根元素之后的标记必须格式正确。”
仅当只有一个“根”元素时才有效(不是 正常意义上的根元素)。
我了解具有多个“根”的 XML 格式不正确, 但它应该被视为一个块。
在提出一些变通解决方案之前,请告诉我: XML 块是否有效?
如果是这样,是否可以使用标准 JDK6 API 读取它们?
测试代码:
String testChunk1 = "<e1>text</e1>";
String testChunk2 = "<e1>text</e1><e2>text</e2>";
// the following doesn't work with 'testChunk2'
StringReader sr = new StringReader(testChunk1);
StringWriter sw = new StringWriter();
TransformerFactory.newInstance().newTransformer().transform(
new StreamSource(sr), new StreamResult(sw));
System.out.println(sw.toString());
【问题讨论】:
标签: java xml validation