我试图读取大的XML文件,我只想读取车主的信息,但我无法将整个XML加载到内存中,如何做到这一点?
XML文件:
<root>
<message>
<car>
<owner>adam</owner>
</car>
<desk>
<owner>sam</owner>
<game>
<owner>dorothy</owner>
</game>
<pen>
<owner>dorothy</owner>
</pen>
</desk>
</message>
</root>
例如,这段代码并不确切地知道它读取的内容。。如何确保我们阅读的是车主?
XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();
XMLEventReader reader = xmlInputFactory.createXMLEventReader(new FileInputStream(entry.toFile()));
while (reader.hasNext()) {
XMLEvent nextEvent = reader.nextEvent();
if (nextEvent.isStartElement()) {
StartElement startElement = nextEvent.asStartElement();
log.info(startElement.getName().toString());
switch (startElement.getName().getLocalPart()) {
case "owner":
// whose owner. .. ?
可靠但可行的解决方案是创建一个小型状态机,在事件发生时捕获它们,并相应地改变状态
问题内容: 是否可以使用StAX(特别是woodstox)使用换行符和制表符来格式化输出xml,即采用以下格式: 代替: 如果在woodstox中无法做到这一点,是否还有其他轻量级的lib可以做到这一点? 问题答案: 通过JDK :。
这是我想做的, 这是我的spend.csv文件: 从表视图: csv的表格视图 这是我想要的输出文件,名为spend.xml: 为了做到这一点,我在这里和那里找到了一些东西,并设法得到了这个: 此时,程序应该在终端中打印XML文件,但是; 遗憾的是,由于我的CSV文件中每个值都有双引号,我遇到了这个问题: java组织。w3c。多姆。DOMEException invalid_character_
问题内容: 我正在编写一个处理具有深节点结构的xml文件(> 1000)的应用程序。使用woodstox(事件API)大约需要6秒钟来解析具有22.000个节点的文件。 该算法被置于与用户交互的过程中,其中只有几秒钟的响应时间是可以接受的。因此,我需要改进如何处理xml文件的策略。 我的过程分析xml文件(仅提取几个节点)。 处理提取的节点,并将新结果写入新的数据流(产生具有修改后的节点的文档副本
问题内容: 我一直在尝试找出如何检查XML文件的语法,确保所有标签均已关闭,没有随机字符等。目前,我所关心的是确保在XML文件中没有损坏的XML。文件。 …但是我意识到我不想验证XML文件的结构;我 不想 针对XML Schema(XSD) 进行 验证…我只想检查XML语法并确定它是否正确。 问题答案: 您可以检查是否是一个XML文档 格式良好的 使用下面的代码: 上面的代码中引用的类如下: 这来
XML(可扩展标记语言)是一种非常流行的简单基于文本的语言,可用作不同应用程序之间的通信模式。 它被认为是传输和存储数据的标准方法。
我正在尝试创建包含另一个XML的XML文档,比如child。 首先,我有一个对象Foo,它有一些属性。我用这个函数序列化它: 在另一个我无法访问Foo类的类中,我需要用这个Foo字符串在xml文档中保存一些数据。所以我有另一个像这样的物体: 当我序列化这个Bar对象并像xml文档一样保存它时。对于FooString元素,我得到了类似的结果。 我明白这个超文本标记语言字符实体(