我正在使用StAX,我想在我的xml文件中添加模式位置。如何最好地实现这一点?
如果你使用 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()
。
敬礼, Max
http://www.w3.org/2001/XMLSchema-instance
。 - Muel