栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java 6是否默认支持xinclude?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 6是否默认支持xinclude?

根据规范,自Java
1.5(5)以来一直提供支持。我相信XInclude支持依赖于名称空间感知,出于向后兼容的原因,默认情况下将其关闭。

public class XIncludeDemo {    private static final String XML = "<?xml version="1.0"?>n" + "<data xmlns="foo" xmlns:xi="http://www.w3.org/2001/XInclude">n" + "<xi:include href="include.txt" parse="text"/>n" + "</data>n";    private static final String INCLUDE = "Hello, World!";    public static void main(String[] args) throws Exception {        // data        final InputStream xmlStream = new ByteArrayInputStream(XML     .getBytes("UTF-8"));        final InputStream includeStream = new ByteArrayInputStream(INCLUDE     .getBytes("UTF-8"));        // document parser        documentBuilderFactory factory = documentBuilderFactory.newInstance();        factory.setXIncludeAware(true);        factory.setNamespaceAware(true);        documentBuilder docBuilder = factory.newdocumentBuilder();        if (!docBuilder.isXIncludeAware()) { throw new IllegalStateException();        }        docBuilder.setEntityResolver(new EntityResolver() { @Override public InputSource resolveEntity(String publicId, String systemId)         throws SAXException, IOException {     if (systemId.endsWith("include.txt")) {         return new InputSource(includeStream);     }     return null; }        });        document doc = docBuilder.parse(xmlStream);        // print result        Source source = new DOMSource(doc);        Result result = new StreamResult(System.out);        TransformerFactory transformerFactory = TransformerFactory     .newInstance();        Transformer transformer = transformerFactory.newTransformer();        transformer.transform(source, result);    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/495676.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号