2

编码:

XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
XMLStreamWriter writer = outputFactory.createXMLStreamWriter(System.out);
writer.writeStartDocument("1.0");
writer.writeCharacters("\n");
writer.writeStartElement("ns1", "sample", "http://www.e.com/ns1");
writer.writeNamespace("ns1", "http://www.e.com/ns1");
writer.writeEndElement();
writer.writeEndDocument();

结果是:

<?xml version="1.0"?>
<ns1:sample xmlns:ns1="http://www.e.com/ns1"/>

如果我删除writer.writeNamespace("ns1", "http://www.e.com/ns1");,那么结果是

<?xml version="1.0"?>
<ns1:sample/>

namespaceURI参数的作用是writeStartElement()什么?

4

1 回答 1

1

以下语句还为您执行前缀绑定:

writer.writeStartElement("ns1", "sample", "http://www.e.com/ns1");

如果您随后使用没有指定前缀的语句,它将知道前缀应该是ns1

writer.writeStartElement("http://www.e.com/ns1", "sample2");
writer.writeEndElement();

至于writeNamespace,你还是需要自己写命名空间声明。

于 2011-07-11T09:06:32.587 回答