আমি একটি ডিওএম ডকুমেন্ট নিতে এবং ফলাফলের এক্সএমএল মুদ্রণ করতে জাভা নির্মিত এক্সএমএল ট্রান্সফর্মার ব্যবহার করছি। সমস্যাটি হ'ল প্যারামিটারটি স্পষ্টভাবে "ইনডেন্ট" সেট করা সত্ত্বেও এটি টেক্সটটি ইনডেন্টিং করছে না।
কোডের উদাহরণ
public class TestXML {
public static void main(String args[]) throws Exception {
ByteArrayOutputStream s;
Document d = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
Transformer t = TransformerFactory.newInstance().newTransformer();
Element a,b;
a = d.createElement("a");
b = d.createElement("b");
a.appendChild(b);
d.appendChild(a);
t.setParameter(OutputKeys.INDENT, "yes");
s = new ByteArrayOutputStream();
t.transform(new DOMSource(d),new StreamResult(s));
System.out.println(new String(s.toByteArray()));
}
}
ফলাফল
<?xml version="1.0" encoding="UTF-8" standalone="no"?><a><b/></a>
কাঙ্ক্ষিত ফলাফল
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<a>
<b/>
</a>
থটস?
INDENT=yes
হয় তবেt.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");