0

重複の可能性:
Java で解析するときにドキュメント要素の前に空白を保持する方法は?

ラテン文字を置き換えることができるように、xml を解析しようとしています。xml 内のラテン文字は置き換えられていますが、xml 内に存在する \n と \t は削除されています。ラテン文字を置き換えるために dtd を使用しています。以下は、xmlの解析に使用したコードです

DocumentBuilderFactory docFactory = DocumentBuilderFactory
                .newInstance();
        docFactory.setValidating(false);
        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
        docBuilder.setEntityResolver(resolver);
        String str = "";
        try {
            Document doc = docBuilder.parse(is, contextPath);
            OutputFormat format = new OutputFormat(doc); // Serialize DOM
            format.setIndenting(reqIndent);
            format.setOmitDocumentType(true);
            format.setEncoding(encoding);
            StringWriter stringOut = new StringWriter(); // Writer will be a
            XMLSerializer serial = new XMLSerializer(stringOut, format);
            serial.asDOMSerializer(); // As a DOM Serializer
            serial.serialize(doc);
            str = stringOut.toString();
        } catch (org.xml.sax.SAXParseException saxExp) {
            throw saxExp; // asString(is);
        } catch (Exception e) {

            throw e;

        } finally {
            if (is != null)
                is.close();
        }
        return str;
4

0 に答える 0