在 Java 中使用命名空间创建 XML 文档

2024-01-26

我正在寻找可以构造使用命名空间的 XML 文档的示例 Java 代码。我似乎无法用我的正常方式找到任何东西最喜欢的工具 http://www.google.com所以希望有人能够帮助我。


有多种方法可以做到这一点。仅举几个例子:

Using XOM http://www.xom.nu/tutorial.xhtml

import nu.xom.Document;
import nu.xom.Element;

public class XomTest {

    public static void main(String[] args) {
        XomTest xomTest = new XomTest();
        xomTest.testXmlDocumentWithNamespaces();
    }

    private void testXmlDocumentWithNamespaces() {
        Element root = new Element("my:example", "urn:example.namespace");
        Document document = new Document(root);
        Element element = new Element("element", "http://another.namespace");
        root.appendChild(element);
        System.out.print(document.toXML());
    }
}

使用Java实现W3C DOM http://www.w3.org/DOM/DOMTR

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.ls.DOMImplementationLS;
import org.w3c.dom.ls.LSOutput;
import org.w3c.dom.ls.LSSerializer;

public class DomTest {

    private static DocumentBuilderFactory dbf = DocumentBuilderFactory
            .newInstance();

    public static void main(String[] args) throws Exception {
        DomTest domTest = new DomTest();
        domTest.testXmlDocumentWithNamespaces();
    }

    public void testXmlDocumentWithNamespaces() throws Exception {
        DocumentBuilder db = dbf.newDocumentBuilder();
        DOMImplementation domImpl = db.getDOMImplementation();
        Document document = buildExampleDocumentWithNamespaces(domImpl);
        serialize(domImpl, document);
    }

    private Document buildExampleDocumentWithNamespaces(
            DOMImplementation domImpl) {
        Document document = domImpl.createDocument("urn:example.namespace",
                "my:example", null);
        Element element = document.createElementNS("http://another.namespace",
                "element");
        document.getDocumentElement().appendChild(element);
        return document;
    }

    private void serialize(DOMImplementation domImpl, Document document) {
        DOMImplementationLS ls = (DOMImplementationLS) domImpl;
        LSSerializer lss = ls.createLSSerializer();
        LSOutput lso = ls.createLSOutput();
        lso.setByteStream(System.out);
        lss.write(document, lso);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Java 中使用命名空间创建 XML 文档 的相关文章

随机推荐

  • 如何学习 C 调试和最佳实践 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我用 C 语言编写了一个 Apache 模块 在某些条件下 我可以让它出现段错误 但我不知道为什么 此时 它可能是我的代码 可能是我编
  • 适用于 iOS 应用程序的 WCF 或 Web 服务 (.asmx)?

    我对网络开发和网络服务相当陌生 我一直在使用 C 在 NET 中尝试传统的 Web 服务 asmx 有人建议现在很多服务都使用 WCF 我想知道我是否应该学习 WCF 并使用它与我的 iOS 应用程序进行通信 看起来 WCF 会有一点学习曲
  • 如何在 Next.js 中使用 props 输入页面组件?

    我正在寻找正确的注释Home函数组件的参数 但遇到了一点麻烦 我希望将其注释为 events events Event 但收到 TypeScript 错误 Property events does not exist on type chi
  • 如何将输入元素(文本/选择/单选)的值发送到node.js服务器

    如何接收单选按钮和选择列表的值并将其放在文件名中 这是将使用这些值的函数 router get import function req res next var csvStream fastCsv on data function data
  • Thymeleaf/Spring - 将项目添加到从组合框到表格的列表中

    情况 有一个类称为 工具 这个工具类有一个 分发点 列表 在用户界面上 用户从组合框 也称为选项 HTML 中选择一个项目 分发位置 并将其添加到表中 然后 用户单击表单上的 提交 表格上的所有内容都会绑定到一个列表 Problem Spr
  • Mysql 数据库连接被拒绝

    我正在尝试让我的 Symfony 3 应用程序在 Amazon EC2 实例上以生产模式运行 我将代码放在正确的位置 然后尝试通过运行来设置与 Composer 的任何依赖关系 export SYMFONY ENV prod compose
  • ReactJs 全局辅助函数

    问题 我有很多小的辅助函数 它们不一定需要存在于组件中 或者也许它们可以 但它们会使该组件因大量代码而变得臃肿 我懒惰的一面只是想让这些全部都存在组件可以调用的某种全局函数 我真的很想编写好的 ReactJs 代码 问题 Reactjs 中
  • 从命令行(终端)启动 Pycharm

    我想尝试使用 PyCharm 进行明智的数学开发 通常我运行 eclipse 进行 sage 开发 但现在我想尝试使用 PyCharm 要使用 sage 环境变量启动 eclipse 在命令行中我通常执行以下操作 sage sh cd pa
  • 是否有相对 jQuery 选择器之类的东西?

    我有一个对 jquery 对象的引用this多变的 我正在寻找一种将子选择器应用于对象的方法 我在用着 this find table gt tbody gt tr gt td 但我的目标更像是 Value of this goes her
  • 全新 python 3.3.5 安装时出现 _socket 模块导入错误

    我安装了 python 3 35 并收到此错误 Traceback most recent call last File C Users Augusto PycharmProjects Plot Database py line 48 in
  • 那么属性在 void 类型上不存在,打字稿错误

    Code reset let alert this AlertCtrl create buttons ok this userservice passwordreset this email then res any gt if res s
  • 在 RESTful 架构中移动资源

    我有一个代表流程和活动的 RESTful Web 服务 每项活动都在一个且仅有一个进程内 我想表示当前所在进程与另一个进程之间的活动 移动 操作 我查看了论坛 发现人们建议使用不太标准的 MOVE 操作 其他人建议使用 PUT 但我不确定如
  • VS 2008 中的“多线程调试 DLL”运行时库选项到底在做什么?

    我在 VS 2008 中有一个创建 DLL 的解决方案 然后我在另一个应用程序中使用该 DLL 如果我进入 DLL 项目属性页并更改 DEBUG 构建的以下配置 则构建的 dll 将不再提供所需的功能 如果我把它改回来并重建 DLL 那么
  • 正则表达式中的最大十六进制值

    不使用u标志可以使用的十六进制范围是 x 00 x ff 但与u标记它达到 4 字节值 x 7fffffff x 00000000 x 7fffffff 所以如果我执行下面的代码 preg match x 00000000 x 800000
  • 遵守标准有多重要?

    对于像 C 这样的语言来说 标准的存在是必须的 好的编译器会尽最大努力 至少是大多数好的编译器 来遵守 许多编译器都有语言扩展 其中一些是标准允许的 有些则不允许 后一种例子有2个 gcc 的 typeof 微软的编译器允许纯虚函数声明同时
  • 将原始 Markdown 文本传递给 Jade

    我正在尝试我的第一个 Node jsExpress http expressjs com 应用程序 正如每个程序员都知道的那样 在测试新框架时您应该构建的第一件事就是博客 不管怎样 我想用 Markdown 写文章 然后在视图中渲染它 我看
  • 避免循环内的条件和函数调用

    我有一个看起来像这样的代码 void function int parameter for a big loop double a for a big loop double b double value if parameter 1 va
  • Python + MySQLdb 执行许多

    我正在使用 Python 及其 MySQLdb 模块将一些测量数据导入 Mysql 数据库 我们拥有的数据量相当大 目前大约有 250 MB 的 csv 文件 未来还会有更多 目前我使用cursor execute 导入一些元数据 这不是问
  • kubectl 端口转发和代理之间的区别

    kubectl proxy and kubectl port forwarding对我来说看起来相似且令人困惑 它们的主要区别和用例是什么 正如 How kubectl port forward works https stackoverf
  • 在 Java 中使用命名空间创建 XML 文档

    我正在寻找可以构造使用命名空间的 XML 文档的示例 Java 代码 我似乎无法用我的正常方式找到任何东西最喜欢的工具 http www google com所以希望有人能够帮助我 有多种方法可以做到这一点 仅举几个例子 Using XOM