4

クラスから読み取ったxmlファイルがあります

<Testclasses>
<Class>new SomeClass1()</class>
<class>new SomeClass2()</class>
</Testclasses>

だから私は以下のようにオブジェクトとして引数を取るクラスのメソッドを持っています

public List<Object> retriveValuesFromXml(){
    ....
    This method parses the values from xml and reads the different object and returns a
    list of objects.
}

@Test
public void someMethod1(){

   ArrayList<Object> list_of_objects= retriveValuesFromXml();

   for(Object x :list_of_objects){
      someMethod2(x); //for example : x = new SomeClass1() or x = new SomeClass2()
   }
}

public void someMethod2(Object target){
   .....
}

ここで、targetは、作成された新しいSomeClass()オブジェクトであり、xmlから読み取っています。ファイルのxml値をオブジェクトとして解析し、リストに保存する方法を知ることができますか?プロジェクト内のすべてのクラスオブジェクトのリストを使用して、それらをこのテストクラスに送信したいだけです。後で、新しいクラスがプロジェクトに追加された場合でも、このxmlファイルに追加して、クラスオブジェクトをこのテストに渡すことができるはずです。

4

2 に答える 2

6

非常に使いやすいXStreamなどの単純なJavaライブラリを使用することをお勧めします。XMLからの解析値を保持するPOJOクラスを定義し、ライブラリを使用してXMLを解析し、変換されたJavaオブジェクトを生成するために必要なのはすべてです。

     XStream xstream = new XStream();

     //converting object to XML
     String xml = xstream.toXML(myObject);

     //converting xml to object
     MyClass myObject = (MyClass)xstream.fromXML(xml);

その2分間のチュートリアルをご覧ください。

于 2012-12-05T19:59:11.263 に答える
3

私が想像するようなもの

DocumentBuilder db = dbf.newDocumentBuilder();
org.w3c.dom.Document doc = db.parse("name_of_file.xml");

Element rootElement = doc.getDocumentElement();
NodeList nl=rootElement.getElementsByTagName("TestClass");          
于 2012-12-05T20:08:55.240 に答える