我编写了一个使用DTDParser jar解析DTD文件的代码。代码是
public static void main(String[] arg)
{
BufferedReader buff=new BufferedReader(new FileReader("abc.dtd"));
DTDParser dtd=new DTDParser(bff);
DTD dt=dtd.Parse();
System.out.println(dt.elements);
}
和我得到的输出是
对于所有带有diff @no更改的元素,message=com.wutka.DTDElement@c20e24 ...等。 但我只需要元素名称...... 也帮我把这些值放在一个数组中,这样我就可以用它来进一步了解...谢谢你..
答案 0 :(得分:0)
如果您想要数组中的元素或最好是列表,那么您需要迭代dt.elements
,例如:
List<String> elementNames = new ArrayList<String>();
for (DTDElement element : dt.elements)
{
elementNames.add(element.getName());
}
我不知道这个库的具体细节(即getName()方法可能不存在),但这是一般概念。