gpt4 book ai didi

java - writeStartElement 有 prvoide namespaceURI,为什么需要另一个 writeNamespace?

转载 作者:行者123 更新时间:2023-11-30 11:52:49 26 4
gpt4 key购买 nike

代码:

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/>

writeStartElement()namespaceURI参数有什么作用?

最佳答案

下面的语句也为你做了前缀绑定(bind):

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

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

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

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

关于java - writeStartElement 有 prvoide namespaceURI,为什么需要另一个 writeNamespace?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6647753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com