gpt4 book ai didi

java - XMLStreamWriter.writeStartElement(prefix,localName,namespaceURI),前缀 "manifest"无法解析为命名空间 URI

转载 作者:行者123 更新时间:2023-11-29 09:20:33 25 4
gpt4 key购买 nike

source.xml:

<?xml version="1.0" encoding="UTF-8"?>
<zip:archive xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0" xmlns:zip="com.test.zip">
<zip:entry zip:target="test1.xml"><manifest:manifest>aaa</manifest:manifest></zip:entry>
<zip:entry zip:target="test2.xml">.......</zip:entry>
</zip:archive>

我使用javax.xml.stream.XMLStreamReader读取source.xml文件,做一些 Action ,然后根据的属性值写入磁盘>zip:目标

结果文件,test1.xml:

<?xml version="1.0" encoding="UTF-8"?>
<manifest:manifest>aaa</manifest:manifest>

你知道,这是错误的。无法将前缀“ list ”解析为命名空间 URI。

通过调试,发现下面的语句调用成功。

XMLStreamWriter.writeStartElement("manifest", "manifest", "urn:oasis:names:tc:opendocument:xmlns:manifest:1.0");

writeStartElement 的第三个参数不为空。但为什么结果文件中缺少 namespace ?

我尝试了两种方法:

  1. 将 sRepairingNamespaces 设置为 true
  2. 在 writeStartElement 之后添加 writeNamespace

但是新的麻烦来了,命名空间被重新声明和重复。

最佳答案

我相信您需要在 writeStartElement 之前设置前缀。我认为您不需要 sRepairingNamespaces - 但我不确定。

关于java - XMLStreamWriter.writeStartElement(prefix,localName,namespaceURI),前缀 "manifest"无法解析为命名空间 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6729395/

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