在java中解析“伪”XML(即,格式不正确)?
问题描述:
我有一些XML,看起来像这样:在java中解析“伪”XML(即,格式不正确)?
<xml><name>oscar</name><race>puppet</race><class>grouch</class></xml>
的标签改变,是可变的,所以不会有永远是一个“名称”标签。
我试过3或4个解析,它们似乎都窒息了。任何提示?
答
仅仅因为它没有定义的schema,并不意味着它不是“有效的”XML - 您的示例XML 是“很好地形成”。
dom4j library会为你做。一旦解析(您的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
}
答
你的XML样本格式良好的XML,如果有什么“呛”它那么这将是有益的,我们不清楚到底是什么症状的“窒息”是。
要解析任何事情,必须有一组文本符合的规则 - 因为它不符合XML的规则它遵守哪些规则?以及它是如何形成不良的 - 你的榜样已经形成 – Mark 2012-08-02 23:55:24