如何使用StAX添加架构位置

时间:2012-01-27 10:31:53

标签: java xml stax

我正在使用StAX,我想在我的xml文件中添加一个架构位置。实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:10)

如果您使用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,您应该可以add() createAttribute()来执行此操作。

此致 最大