7
StAX를 사용하고 있으며 스키마 위치를 XML 파일에 추가하려고합니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?StAX에서 스키마 위치를 추가하는 방법
StAX를 사용하고 있으며 스키마 위치를 XML 파일에 추가하려고합니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?StAX에서 스키마 위치를 추가하는 방법
XMLStreamWriter
을 사용하는 경우 writeNamespace()
및 writeAttribute()
(또는 단지 writeAttribute()
)을 사용할 수 있습니다.
XMLStreamWriter xmlStreamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(System.out);
xmlStreamWriter.writeStartDocument();
xmlStreamWriter.writeStartElement("YourRootElement");
xmlStreamWriter.writeNamespace("xsi", "http://www.w3.org/2000/10/XMLSchema-instance");
xmlStreamWriter.writeAttribute("http://www.w3.org/2000/10/XMLSchema-instance", "noNamespaceSchemaLocation",
"path_to_your.xsd");
xmlStreamWriter.writeEndElement();
xmlStreamWriter.flush();
출력 :
<?xml version="1.0" ?>
<YourRootElement xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:noNamespaceSchemaLocation="path_to_your.xsd"></YourRootElement>
XMLEventWriter
를 들어, createAttribute()
을 보내고 add()
그것을 할 수 있어야합니다.
감사합니다, 최대
하이 맥스, 난 이미이 솔루션을 기대했다. 해명 해줘서 고마워. – Lars
이것은 저에게 효과적 이었지만 XML은 완전히 검증되지 않았습니다. 검증 문제를 해결하기 위해 더 새로운 스키마 인스턴스를 'http : // www.w3.org/2001/XMLSchema-instance'로 지정해야했습니다. – Muel