1

私はxmlファイルデータを含む文字列を持っています

そのような

<?xml version="1.0" encoding="UTF-8"?>

<data>

<type>
<lory>vroom</lory>
<car>crack</car>
</type>

<type>
<lory>doom</lory>
<car>chack</car>
</type>

</data>

これは、ラベルという名前の文字列に保持されます。

次のようにsaxパーサーを使用してデータを取得します

SAXHelper sh = null;

            try {
                sh = new SAXHelper(newxml);
            } catch (MalformedURLException e) {
                e.printStackTrace();
            }

            sh.parseContent("");

saxhelper クラスの一部

class SAXHelper {


        public HashMap<String, String> userList = new HashMap<String, String>();
        private String data;

        public SAXHelper(String url1) throws MalformedURLException {
            this.data = new String(url1);
        }

        public RSSHandler parseContent(String parseContent) {
            RSSHandler df = new RSSHandler();
            try {

                SAXParserFactory spf = SAXParserFactory.newInstance();
                SAXParser sp = spf.newSAXParser();
                XMLReader xr = sp.getXMLReader();
                xr.setContentHandler(df);
                xr.parse(data);

            } catch (Exception e) {
                e.printStackTrace();
            }
            return df;
        }
    }

しかし、奇形エラーを示すこのエラーで終わります。要するに、xml文字列をsaxパーサーに渡して設定し、結果を取得したいと考えています。

04-05 11:25:18.390: W/System.err(2646):     at org.apache.harmony.xml.ExpatParser.openUrl(ExpatParser.java:760)
04-05 11:25:18.398: W/System.err(2646):     at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:289)
04-05 11:25:18.398: W/System.err(2646):     at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:322)
04-05 11:25:18.398: W/System.err(2646):     at .CompteDetails$SAXHelper.parseContent(CompteDetails.java:228)
04-05 11:25:18.398: W/System.err(2646):     at .CompteDetails$loadingTask.doInBackground(CompteDetails.java:202)
04-05 11:25:18.398: W/System.err(2646):     at .details.CompteDetails$loadingTask.doInBackground(CompteDetails.java:1)
04-05 11:25:18.398: W/System.err(2646):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
04-05 11:25:18.398: W/System.err(2646):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
04-05 11:25:18.398: W/System.err(2646):     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
04-05 11:25:18.398: W/System.err(2646):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
04-05 11:25:18.398: W/System.err(2646):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
04-05 11:25:18.398: W/System.err(2646):     at java.lang.Thread.run(Thread.java:1019)
04-05 11:25:18.402: W/System.err(2646): Caused by: java.net.MalformedURLException: Protocol not found: <?xml version="1.0" encoding="UTF-8"?>..
4

1 に答える 1

0

生の XML を渡しています:

<?xml version="1.0" encoding="UTF-

したがって、例外:

04-05 11:25:18.402: W/System.err(2646): Caused by: java.net.MalformedURLException: Protocol not found: <?xml version="1.0" encoding="UTF-8"?>
于 2013-04-05T07:53:05.963 に答える