在Android中动态解析XML?

Siv*_*mar 0 java xml parsing android

有没有办法在不知道XML文件中存在的标签的情况下解析XML文件?

XML文件作为输入提供,并且必须进行解析.由于我们不知道其中存在的标记,因此我发现使用DOM Parser或SAX解析器进行解析很困难.

有没有办法得到这个?

谢谢,Siva Kumar

Ber*_*t F 5

我不清楚问题是什么.Java DOM和SAX解析器不需要事先知道元素标记和属性.它将解析任何格式良好的XML.我并不熟悉Android上的XML解析,但这里的教程似乎并没有表明解析器需要提前知道元素标签和属性:

http://www.ibm.com/developerworks/opensource/library/x-android/

例如,您可以使用DOM来解析XML文档以获取DOM树.由于您不知道元素名称,因此您不能仅按元素名称查询特定子元素或子元素的DOM树,而是可以通过Document.getDocumentElement()Node.getChildNodes()等调用来遍历树..由您的代码决定如何处理解析XML文档所产生的结构化DOM树,但DOM解析器本身并不关心特定元素标记和属性是什么.

类似地,您可以将XML文档提供给SAX解析器,SAX将很好地解析它.SAX将使用元素名称和该元素中的属性映射调用ContentHandler.startElement()回调.您的代码需要确定如何处理SAX解析器在处理XML文档时找到的元素和属性,但SAX并不关心特定元素标记和属性是什么.

所以问题归结为,你希望你的代码对解析XML的结果有什么看法?你想确定它吗?你想打印它吗?您是否尝试将其转换为其他格式?

  • +1.我想向你提出另一个问题."你真的知道自己想做什么吗?" (3认同)