【问题标题】:XML Namespaces with URL in JavaJava 中带有 URL 的 XML 命名空间
【发布时间】:2015-11-10 08:53:17
【问题描述】:

我必须创建一个包含 URL 的 XML 命名空间。结果我得到了 INVALID_CHARACTER for XML 错误。所以我尝试将 URL 首先放在一个字符串中 - 结果相同。当我尝试将 URL 放入 URL 变量中并尝试在 elementtext 之后添加它时:

Element rootElement = doc.createElement("esb"+ url);

它不会工作,因为它不是一个字符串。

网址如:xmlns:tns="http://www.xxxxxxx-xxxxxxxxxx.xx/xxx-xxx-xxxx"

我还尝试将" 替换为&quot... 这里有人知道我如何将 URL 用作命名空间吗?

编辑:/ 我发现 / 字符导致了问题 - 但互联网上说 - / 是一个有效字符......那么 java 是不是在这里引起了问题? (我用eclipse编码)

【问题讨论】:

  • 可能重复的问题:stackoverflow.com/questions/4328711/…
  • xmlns:ts="http://.....'" 不是 URL。它是将前缀 ts 绑定到 URI 的命名空间声明。无论您为此使用什么 DOM 接口,都需要分别呈现每个部分。由于您显然对 DOM 很陌生,您是否考虑过使用其中一种替代方案,例如 JDOM2 或 XOM?它们更加友好,尤其是在命名空间方面。

标签: java xml


【解决方案1】:

您不应该将 url 与要创建的元素的名称连接起来。

据我记忆,你应该使用createElementNS(String namespaceURI, String qualifiedName)的方法。

在你的情况下,这应该是这样的:

Element rootElement = doc.createElementNs("http://www.x...", "tns:esb");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-05
    • 2011-11-12
    • 2012-11-22
    • 2015-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多