Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅使用Java1.5(或更早版本)读取和写入XML_Java_Xml - Fatal编程技术网

仅使用Java1.5(或更早版本)读取和写入XML

仅使用Java1.5(或更早版本)读取和写入XML,java,xml,Java,Xml,为了读取XML,Java1.5中内置了SAX和DOM。您可以使用JAXP,而不需要知道有关可用解析器的详细信息。。。那么,在Java1.5及更早版本中,有哪些规定的API可供编写XML文档 我不想使用第三方二进制文件 我不想假设一个Sun VM或IBM VM等,而使用一些专门的类 无论编写这份文件有什么方法,我都想以补充的方式阅读 大型XML文件的性能和适用性并不特别重要 理想情况下,不做任何更改的读写操作只需几行代码。没有正式的“规定”API,但我们对以下技术非常满意: 创建一个类XmlW

为了读取XML,Java1.5中内置了SAX和DOM。您可以使用JAXP,而不需要知道有关可用解析器的详细信息。。。那么,在Java1.5及更早版本中,有哪些规定的API可供编写XML文档

  • 我不想使用第三方二进制文件
  • 我不想假设一个Sun VM或IBM VM等,而使用一些专门的类
  • 无论编写这份文件有什么方法,我都想以补充的方式阅读
  • 大型XML文件的性能和适用性并不特别重要
理想情况下,不做任何更改的读写操作只需几行代码。

没有正式的“规定”API,但我们对以下技术非常满意:

创建一个类
XmlWriter
,该类使用字符
Writer
初始化,并具有类似
startElement(字符串名称)
writeAttribute(字符串名称、字符串值)
writeCData(字符串文本)
的方法

然后以明显的方式实施。内部方法可以执行SGML字符转义等操作;请参阅ApacheCommons以获取有用的实用程序

如果您希望输出更易于人阅读,可以执行诸如跟踪元素嵌套级别和添加换行符、制表符或空格之类的操作。另外,还可以选择跟踪元素的打开和关闭,而元素内部没有任何内容,可以缩写为Java 1.4附带的,可以使用a,等等:


如果你想回到J2SE 1.3 API,你几乎是靠你自己(尽管如果你是那个时代的J2EE API,可能会有一些东西——我不记得了)。

你需要控制xml模式,还是只要它是xml,并且可以通过相同的过程反向读取,写的东西就可以了?是的,我关心模式。你在考虑XML序列化吗?这正是我输入的问题的正确答案。但事后看来,这个问题具有误导性。我想创造一堆新的内容;我不确定如何使用转换器创建新内容……我将以输入数据和您希望从中产生的输出为例,开始一个新问题。此外,如何使用转换器:尽管不清楚您是否需要所有这些。
// print document
InputSource inputSource = new InputSource(stream);
Source saxSource = new SAXSource(inputSource);
Result result = new StreamResult(System.out);
TransformerFactory transformerFactory = TransformerFactory
    .newInstance();
Transformer transformer = transformerFactory
    .newTransformer();
transformer.transform(saxSource, result);