0

我有一些看起来像这样的 xml:

<xml><name>oscar</name><race>puppet</race><class>grouch</class></xml>

标签会发生变化并且是可变的,因此不会总是有“名称”标签。

我已经尝试了 3 或 4 次解析,但它们似乎都被它扼住了。有什么提示吗?

4

3 回答 3

0

有效的 xml;尝试添加允许可选元素的 XML 模式。如果您可以编写 xml 模式,则可以使用JAXB对其进行解析。XML 允许有可选元素;它并不太“严格”。

于 2012-08-02T23:54:52.670 回答
0

仅仅因为它没有定义的schema,并不意味着它不是“有效的” XML - 您的示例 XML“格式正确的”。

dom4j 库将为您完成。一旦解析(您的 XML 将解析 OK),您就可以遍历子元素,无论它们的标签名称是什么,并使用您的数据。

以下是如何使用它的示例:

import org.dom4j.*;

String text = "<xml><name>oscar</name><race>puppet</race><class>grouch</class></xml>";
Document document = DocumentHelper.parseText(text);
Element root = document.getRootElement();

for ( Iterator i = root.elementIterator(); i.hasNext(); ) {
    Element element = (Element) i.next();
    String tagName = element.getQName();
    String contents = element.getText();
    // do something
}
于 2012-08-02T23:59:29.907 回答
0

您的 XML 样本是格式良好的 XML,如果有任何东西“阻塞”它,那么我们可以准确地知道“阻塞”的症状是什么。

于 2012-08-03T09:07:41.700 回答