아래 데이터를 java의 xml에 쓰는 방법이 있습니까? 제발 도와주세요
<tag>
<abc="1"/>
<cde="a"/>
<xyz="3"/>
</tag>
예로서...
import org.w3c.dom.Attr;
import org.w3c.dom.CDATASection;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.File;
import java.io.FileOutputStream;
public class Foobar {
public static void main(String[] args) throws Exception {
/* one way */
FileOutputStream fileOutputStream = new FileOutputStream(new File("/tmp/foobar.txt"));
String data = "<tag> \n" +
" <abc=\"1\"/> \n" +
" <cde=\"a\"/> \n" +
" <xyz=\"3\"/> \n" +
"</tag> ";
fileOutputStream.write(data.getBytes());
/* another way */
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
Element tag = doc.createElement("tag");
Attr abc = doc.createAttribute("abc");
Attr cde = doc.createAttribute("cde");
Attr xyz = doc.createAttribute("xyz");
abc.setValue("1");
cde.setValue("2");
xyz.setValue("3");
CDATASection cdataSection = doc.createCDATASection(makeInvalidTag(abc) + makeInvalidTag(cde) + makeInvalidTag(xyz));
tag.appendChild(cdataSection);
doc.appendChild(tag);
StreamResult streamResult = new StreamResult(new File("/tmp/foobar2.txt"));
DOMSource domSource = new DOMSource(doc);
TransformerFactory.newInstance().newTransformer().transform(domSource, streamResult);
}
private static String makeInvalidTag(Attr attr) {
return "\u003C" + attr.toString() + "/\u003E";
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다