0

必要なものを正確に出力しましたが、プログラムにPOJOクラスを使用する必要があり、問題をたくさん検索しましたが、明確なアイデアが得られませんでした。この問題を解決するのを手伝ってください。事前に、Javaでのxmlpharseのコーディングに感謝します。下記のとおり。

ReadAndPrintXMLFileのコーディング::

import org.w3c.dom.*;

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;

import java.net.URL;
import java.io.InputStream;

public class ReadAndPrintXMLFile{
    public static void main (String argv []){


    try {
            DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();

            URL url = new URL("http://xxxxxxxxxxxxxxxx");
            InputStream stream = url.openStream();
            Document doc = docBuilder.parse(stream);

            // normalize text representation
            doc.getDocumentElement ().normalize ();
            System.out.println ("Root element of the doc is " +
                 doc.getDocumentElement().getNodeName());
            NodeList listOfPersons = doc.getElementsByTagName("head");
            int totalPersons = listOfPersons.getLength();
            System.out.println("Total no of head : " + totalPersons);
            for(int s=0; s<listOfPersons.getLength() ; s++){
                Node firstPersonNode = listOfPersons.item(s);
                if(firstPersonNode.getNodeType() == Node.ELEMENT_NODE){
                    Element firstPersonElement = (Element)firstPersonNode;
                    //-------
                    NodeList firstNameList = firstPersonElement.getElementsByTagName("heading");
                    Element firstNameElement = (Element)firstNameList.item(0);
                    NodeList textFNList = firstNameElement.getChildNodes();
                    System.out.println("Heading : " +
                           ((Node)textFNList.item(0)).getNodeValue().trim());

                }//end of if clause
            }//end of for loop with s var
        }catch (SAXParseException err) {
        System.out.println ("** Parsing error" + ", line "
             + err.getLineNumber () + ", uri " + err.getSystemId ());
        System.out.println(" " + err.getMessage ());
        }catch (SAXException e) {
        Exception x = e.getException ();
        ((x == null) ? e : x).printStackTrace ();
        }catch (Throwable t) {
        t.printStackTrace ();
        }
        //System.exit (0);
    }//end of main
}

このxml解析プログラムでは、POJOクラスを使用する必要があります。したがって、このために、次のようなクラスを作成します。

public class POJOurl {

    private String heading;

    public String getHeading() {
        return heading;
    }

    public void setHeading(String heading) {
        this.heading = heading;
    }


}

ここでは、プログラムでこれらのgetおよびsetメソッドを使用する方法がわかりません。これらのpublic String getHeading()およびpublic void setHeading(String heading)を使用して、プログラムを実行する必要があります。今..唯一のことは、このプログラムにPOJOクラスを使用する必要があるということです

出力::

Root element of the doc is root1
Total no of head : 4
Heading : Appliance Repairs
Heading : Air conditioning and refrigeration services
Heading : Accountants
Heading : Accident Management
4

1 に答える 1

0

必要な属性(firstNameなど)を使用してクラスPersonを作成します。

于 2012-06-15T10:04:48.190 に答える