手动解析Java中的XML

时间:2017-04-28 11:47:29

标签: java xml xml-parsing

所以我得到了一个格式为

的XML文件
<Level1 name="Foo1">
  <Level2 name="Foo2">
    <Level3 name="Foo3">
    </Level3>
  </Level2>
</Level1>

我应该阅读解析在我的Java程序中相应格式化的文件。 Java是否具有XML的任何内置功能(例如,查看节点所在的级别等),或者我是否必须使用常规扫描程序扫描它,并且只读取输入,就像普通文本文件一样?我被特别告知不要使用任何现有的解析器或外部库等。

1 个答案:

答案 0 :(得分:3)

评论的结论是:你不能双管齐下。如果你的任务说“&34;手动解析XML”#34;并且您不得使用图书馆;那就是你要做的。

从这个意义上说:你转向像Scanner这样的内置类;并使用其标记化功能解析您的XML;请参阅here了解一些指导性意见。

从那里开始:你可以用不同的努力来解决这个问题。喜欢:你需要解析&#34;真实&#34; XML;或传入的文件是否具有固定格式?

你看,当你总是得到6行看起来像你的例子;那么你可以通过阅读6行文字来逃避;并使用正则表达式,split,substring,...操作来获取&#34;变量&#34;内容。

但是当然,当你被要求解析任何有效的XML时,你需要一个真正的解析器发出事件;和#34;框架&#34;做某事&#34;做某事&#34;关于不同类型的事件。另一个question包含一个答案(#2;棘轮怪物#2;),其中概述了如何做到这一点(显然是另一种语言)。