仅使用Java1.5(或更早版本)读取和写入XML
为了读取XML,Java1.5中内置了SAX和DOM。您可以使用JAXP,而不需要知道有关可用解析器的详细信息。。。那么,在Java1.5及更早版本中,有哪些规定的API可供编写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
- 我不想使用第三方二进制文件
- 我不想假设一个Sun VM或IBM VM等,而使用一些专门的类
- 无论编写这份文件有什么方法,我都想以补充的方式阅读
- 大型XML文件的性能和适用性并不特别重要
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);