MyDefaultHandler.javapackage com.wo;import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;import android.util.Log;public class MyDefaultHandler extends DefaultHandler {
    String tagName = null;
    static News news = null;
    String type = null;    @Override
    public void characters(char[] ch, int start, int length)
            throws SAXException {
        // TODO Auto-generated method stub        if (tagName != null) {
            if (type != null && type.equals("News")) {
                String data = new String(ch, start, length);                if (tagName.equals("ID")) {
                    news.setId(data);
                    Log.v("news id", data);
                } else if (tagName.equals("TITLE")) {
                    news.setTitle(data);
                    Log.v("news title", data);
                } else if (tagName.equals("CONTENT")) {
                    news.setContent(data);
                    Log.v("news content", data);
                } else if (tagName.equals("PUBDATE")) {
                    news.setPubDate(data);
                    Log.v("news pubdate", data);
                }            }
        }    }    @Override
    public void endElement(String uri, String localName, String qName)
            throws SAXException {
        if (qName.equals("ITEMS")) {
            if (type != null && type.equals("News")) {
                Log.v("news", news.toString());
            }        }
        qName = null;    }    @Override
    public void startElement(String uri, String localName, String qName,
            Attributes attributes) throws SAXException {        if (qName.equals("ITEMS")) {
            type = attributes.getValue("name");
            if (type.equals("News")) {
                news = new News();
            } else if (type.equals("Single")) {            } else if (type.equals("House")) {            } else if (type.equals("Interview")) {[code=Java]            }
        }
        tagName = qName;    }}[/code]
News.javapackage com.wo;public class News {
    public String id;
    public String title;
    public String content;
    public String pubDate;    public News() {    }    @Override
    public String toString() {
        return "News [id=" + id + ", title=" + title + ", content=" + content
                + ", pubDate=" + pubDate + "]";
    }    /**
     * @return the id
     */
    public String getId() {
        return id;
    }    /**
     * @param id
     *            the id to set
     */
    public void setId(String id) {
        this.id = id;
    }    /**
     * @return the title
     */
    public String getTitle() {
        return title;
    }    /**
     * @param title
     *            the title to set
     */
    public void setTitle(String title) {
        this.title = title;
    }    /**
     * @return the content
     */
    public String getContent() {
        return content;
    }    /**
     * @param content
     *            the content to set
     */
    public void setContent(String content) {
        this.content = content;
    }    /**
     * @return the pubDate
     */
    public String getPubDate() {
        return pubDate;
    }    /**
     * @param pubDate
     *            the pubDate to set
     */
    public void setPubDate(String pubDate) {
        this.pubDate = pubDate;
    }}TestCursorActivity.javapackage com.wo;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.reflect.Field;import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;import android.app.Activity;
import android.os.Bundle;public class TestCursorActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);        DefaultHttpClient client = new DefaultHttpClient();
        HttpGet request = new HttpGet("http://www.10fang.com/api/data.xml");
        try {
            HttpResponse response = client.execute(request);
            int code = response.getStatusLine().getStatusCode();
            if (code == HttpStatus.SC_OK) {
                InputStream is = response.getEntity().getContent();
                InputStreamReader isr = new InputStreamReader(is, "utf-8");
                InputSource inputSource = new InputSource(isr);
                SAXParserFactory factory = SAXParserFactory.newInstance();
                SAXParser parser = factory.newSAXParser();
                parser.parse(inputSource, new MyDefaultHandler());
            }
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ParserConfigurationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SAXException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }    }
}

解决方案 »

  1.   

    04-13 03:06:43.166: W/KeyCharacterMap(357): No keyboard for id 0
    04-13 03:06:43.166: W/KeyCharacterMap(357): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
    04-13 03:06:43.376: W/InputManagerService(70): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@405680e8 (uid=10038 pid=357)
    04-13 03:06:43.376: W/IInputConnectionWrapper(357): showStatusIcon on inactive InputConnection
    04-13 03:06:46.857: D/AndroidRuntime(368): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
    04-13 03:06:46.857: D/AndroidRuntime(368): CheckJNI is ON
    04-13 03:06:47.807: D/AndroidRuntime(368): Calling main entry com.android.commands.pm.Pm
    04-13 03:06:48.007: D/dalvikvm(324): GC_EXPLICIT freed 39K, 54% free 2546K/5511K, external 716K/1038K, paused 53ms
    04-13 03:06:48.007: W/ActivityManager(70): No content provider found for: 
    04-13 03:06:48.027: W/ActivityManager(70): No content provider found for: 
    04-13 03:06:48.057: D/PackageParser(70): Scanning package: /data/app/vmdl543547259.tmp
    04-13 03:06:48.147: I/PackageManager(70): Removing non-system package:com.wo
    04-13 03:06:48.147: I/ActivityManager(70): Force stopping package com.wo uid=10038
    04-13 03:06:48.147: I/Process(70): Sending signal. PID: 357 SIG: 9
    04-13 03:06:48.367: D/PackageManager(70): Scanning package com.wo
    04-13 03:06:48.377: I/PackageManager(70): Package com.wo codePath changed from /data/app/com.wo-1.apk to /data/app/com.wo-2.apk; Retaining data and using new
    04-13 03:06:48.377: I/PackageManager(70): Unpacking native libraries for /data/app/com.wo-2.apk
    04-13 03:06:48.397: D/installd(35): DexInv: --- BEGIN '/data/app/com.wo-2.apk' ---
    04-13 03:06:48.597: D/dalvikvm(377): DexOpt: load 44ms, verify+opt 40ms
    04-13 03:06:48.607: D/installd(35): DexInv: --- END '/data/app/com.wo-2.apk' (success) ---
    04-13 03:06:48.607: W/PackageManager(70): Code path for pkg : com.wo changing from /data/app/com.wo-1.apk to /data/app/com.wo-2.apk
    04-13 03:06:48.607: W/PackageManager(70): Resource path for pkg : com.wo changing from /data/app/com.wo-1.apk to /data/app/com.wo-2.apk
    04-13 03:06:48.607: D/PackageManager(70):   Activities: com.wo.TestCursorActivity
    04-13 03:06:48.627: I/ActivityManager(70): Force stopping package com.wo uid=10038
    04-13 03:06:48.767: I/installd(35): move /data/dalvik-cache/data@[email protected]@classes.dex -> /data/dalvik-cache/data@[email protected]@classes.dex
    04-13 03:06:48.767: D/PackageManager(70): New package installed in /data/app/com.wo-2.apk
    04-13 03:06:48.937: I/ActivityManager(70): Force stopping package com.wo uid=10038
    04-13 03:06:49.067: D/dalvikvm(136): GC_EXPLICIT freed 92K, 51% free 2975K/5959K, external 2291K/2833K, paused 128ms
    04-13 03:06:49.137: D/dalvikvm(70): GC_EXPLICIT freed 594K, 45% free 4333K/7751K, external 1316K/1828K, paused 144ms
    04-13 03:06:49.297: D/dalvikvm(187): GC_EXPLICIT freed 143K, 52% free 2773K/5703K, external 716K/1038K, paused 115ms
    04-13 03:06:49.417: W/RecognitionManagerService(70): no available voice recognition services found
    04-13 03:06:49.836: D/dalvikvm(70): GC_EXPLICIT freed 187K, 45% free 4316K/7751K, external 1316K/1828K, paused 99ms
    04-13 03:06:49.847: I/installd(35): unlink /data/dalvik-cache/data@[email protected]@classes.dex
    04-13 03:06:49.877: D/AndroidRuntime(368): Shutting down VM
    04-13 03:06:49.897: D/dalvikvm(368): GC_CONCURRENT freed 101K, 72% free 295K/1024K, external 0K/0K, paused 2ms+2ms
    04-13 03:06:49.897: D/dalvikvm(368): Debugger has detached; object registry had 1 entries
    04-13 03:06:49.937: I/AndroidRuntime(368): NOTE: attach of thread 'Binder Thread #3' failed
    04-13 03:06:50.617: D/AndroidRuntime(382): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
    04-13 03:06:50.617: D/AndroidRuntime(382): CheckJNI is ON
    04-13 03:06:51.577: D/AndroidRuntime(382): Calling main entry com.android.commands.am.Am
    04-13 03:06:51.627: I/ActivityManager(70): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.wo/.TestCursorActivity } from pid 382
    04-13 03:06:51.687: I/ActivityManager(70): Start proc com.wo for activity com.wo/.TestCursorActivity: pid=390 uid=10038 gids={3003}
    04-13 03:06:51.697: D/AndroidRuntime(382): Shutting down VM
    04-13 03:06:51.777: I/AndroidRuntime(382): NOTE: attach of thread 'Binder Thread #3' failed
    04-13 03:06:51.827: D/dalvikvm(382): GC_CONCURRENT freed 102K, 69% free 319K/1024K, external 0K/0K, paused 2ms+1ms
    04-13 03:06:51.827: D/jdwp(382): Got wake-up signal, bailing out of select
    04-13 03:06:51.827: D/dalvikvm(382): Debugger has detached; object registry had 1 entries
    04-13 03:06:52.097: D/dalvikvm(33): GC_EXPLICIT freed 11K, 53% free 2538K/5379K, external 716K/1038K, paused 420ms
    04-13 03:06:52.277: D/dalvikvm(33): GC_EXPLICIT freed <1K, 53% free 2538K/5379K, external 716K/1038K, paused 170ms
    04-13 03:06:52.437: D/dalvikvm(33): GC_EXPLICIT freed <1K, 53% free 2538K/5379K, external 716K/1038K, paused 155ms
    04-13 03:06:53.547: V/news id(390): 53140
    04-13 03:06:53.557: V/news title(390): 【赛程回顾】凤凰香郡摄影比赛
    04-13 03:06:53.557: V/news content(390): “风景这边独好”2011凤凰香郡摄影大赛5月20日开始面向市民征稿,截止到5月31日征稿结束共收参赛作品579幅。6月12日,由凤凰香郡、十房网、摄影专业人士组成评审团,评选出33幅获奖作品。其中李军摄影作品“东城新画卷”荣获一等奖,奖金2000元,并被聘为《地产观》特约摄影师;李景成、赵航荣获二等奖,获得奖金800元;汪洋、李持等荣获三等奖,奖金300元;陈黎、杨钊、崔少卿等25人荣获优秀奖。
    04-13 03:06:53.566: V/news pubdate(390): 2011-06-14
    04-13 03:06:53.566: V/news(390): News [id=
    04-13 03:06:53.566: V/news(390): , title=
    04-13 03:06:53.566: V/news(390): , content=
    04-13 03:06:53.566: V/news(390): , pubDate=
    04-13 03:06:53.566: V/news(390): ]
    04-13 03:06:53.578: V/news id(390): 52990
    04-13 03:06:53.578: V/news title(390): 2011年十堰房地产高峰论坛召开
    04-13 03:06:53.587: V/news content(390): 最严厉新政迄今一年有余,在一系列限购、限价措施下,一线城市成交量大跌,房价出现较大降幅,房企发展规划出现转折。那么在十堰,深受政策影响的房地产行业会将如何发展呢?
    04-13 03:06:53.587: V/news pubdate(390): 2011-05-31
    04-13 03:06:53.597: V/news(390): News [id=
    04-13 03:06:53.597: V/news(390): , title=
    04-13 03:06:53.597: V/news(390): , content=
    04-13 03:06:53.597: V/news(390): , pubDate=
    04-13 03:06:53.597: V/news(390): ]
    04-13 03:06:53.597: V/news id(390): 50625
    04-13 03:06:53.597: V/news title(390): 十堰楼市2011 众楼盘抢滩1月群星荟萃
    04-13 03:06:53.607: V/news content(390): 虽说国家为了遏制不断上涨的房价,多次出台调控政策进行打压,但却未达到预期效果。而十堰楼市却是一片火热,没有出现楼市调控使房价降下来的局面。新年伊始,许多优质楼盘选择在一月打响新年开门红,今天特别针对2011年1月份即将开盘的楼盘做了集中展示,希望能给有意向置业者提供一些参考。
    04-13 03:06:53.607: V/news pubdate(390): 2011-01-11
    04-13 03:06:53.617: V/news(390): News [id=
    04-13 03:06:53.617: V/news(390): , title=
    04-13 03:06:53.617: V/news(390): , content=
    04-13 03:06:53.617: V/news(390): , pubDate=
    04-13 03:06:53.617: V/news(390): ]
    04-13 03:06:53.617: V/news id(390): 49936
    04-13 03:06:53.617: V/news title(390): 楼市调查:房展会上来自开发商的声音
    04-13 03:06:53.627: V/news content(390): 大家可以看到,各个展位都聚满了购房者,置业顾问也在为他们耐心解答。那作为开发商,精心布置展位来参加这次房展会目的何在呢,我们一起去了解一下。
    04-13 03:06:53.627: V/news pubdate(390): 2010-11-27
    04-13 03:06:53.648: V/news(390): News [id=
    04-13 03:06:53.648: V/news(390): , title=
    04-13 03:06:53.648: V/news(390): , content=
    04-13 03:06:53.648: V/news(390): , pubDate=
    04-13 03:06:53.648: V/news(390): ]
    04-13 03:06:53.648: V/news id(390): 49878
    04-13 03:06:53.648: V/news title(390): 调查:十堰房展会是楼市拐点吗(下)
    04-13 03:06:53.657: V/news content(390): 在上期节目中,我们从市民那里了解到,通过这次房展会,市民一致表示对房价下跌并不看好,观望气氛依然浓厚。那今天就让我们走进开发商,看看他们从这次房展会中又有什么样的收获呢?
    04-13 03:06:53.657: V/news pubdate(390): 2010-11-24
    04-13 03:06:53.667: V/news(390): News [id=
    04-13 03:06:53.667: V/news(390): , title=
    04-13 03:06:53.667: V/news(390): , content=
    04-13 03:06:53.667: V/news(390): , pubDate=
    04-13 03:06:53.667: V/news(390): ]
    04-13 03:06:54.147: I/ActivityManager(70): Displayed com.wo/.TestCursorActivity: +2s479ms
    04-13 03:06:59.268: D/dalvikvm(136): GC_EXPLICIT freed 73K, 51% free 2979K/5959K, external 2291K/2833K, paused 76ms
    04-13 03:07:05.197: D/dalvikvm(276): GC_EXPLICIT freed 503K, 55% free 2598K/5703K, external 716K/1038K, paused 77ms不好意思,问题是characters()方法设置了news相关字段,而在endElement()方法里确收集不到?
      

  2.   


    public BuildItem rItem;
    public BuildFeed rFeed;
        final int ID = 1;
        final int NAME = 2;
        final int ADDRESS = 3;
        final int ABOUT = 4;
        final int PUBDATE = 5;
    private  int currentstate = 0;

    public BuildFeed getFeed(){
    return rFeed;
    }

    @Override
    public void startDocument() throws SAXException {
    rFeed=new BuildFeed();
    rItem=new BuildItem();
    super.startDocument();
    }

    @Override
    public void endDocument() throws SAXException {
    // TODO Auto-generated method stub
    super.endDocument();
    }

    @Override
    public void startElement(String uri, String localName, String qName,
    Attributes attributes) throws SAXException {
    // TODO Auto-generated method stub
    if(localName.endsWith("channel")){
     currentstate = 0;
     return;
    }
    if(localName.endsWith("item")){
    rItem=new BuildItem();
    return;
    }
    if(localName.equals("id")){
                currentstate = ID;
                return;
            }
            if(localName.equals("name")){
                currentstate = NAME;
                return;
            }
            if(localName.equals("address")){
                currentstate = ADDRESS;
                return;
            }
            if(localName.equals("about")){
                currentstate = ABOUT;
                return;
            }
            if(localName.equals("pubDate")){
                currentstate = PUBDATE;
                return;
            }
            currentstate = 0;
    super.startElement(uri, localName, qName, attributes);
    }
    @Override
    public void endElement(String uri, String localName, String qName)
    throws SAXException {
    if(localName.endsWith("item")){
    rFeed.addItem(rItem);
    }
    super.endElement(uri, localName, qName);
    }

    @Override
    public void characters(char[] ch, int start, int length)
    throws SAXException {
    // TODO Auto-generated method stub
    super.characters(ch, start, length);
    String theString = new String(ch, start, length);
     switch(currentstate){
            case ID:
                rItem.setId(theString);
                currentstate = 0;
                break;
            case NAME:
                rItem.setName(theString);
                currentstate = 0;
                break;
            case ADDRESS:
                rItem.setAddress(theString);
                currentstate = 0;
                break;
            case PUBDATE:
                rItem.setPubdate(theString);
                currentstate = 0;
                break;
            case ABOUT:
                rItem.setAbout(theString);
                currentstate = 0;
                break;
            default:
                return;
     }
    }这个是我以前写的一段代码,希望能帮到你,如果是解析没问题,就是你XML本身就是空白,这个你可以调试看出来的嘛
      

  3.   


    public BuildFeed Read(Context context) {
    try {
    SAXParserFactory factory=SAXParserFactory.newInstance();
    SAXParser parser=factory.newSAXParser();
    XMLReader reader=parser.getXMLReader();
    reader.setContentHandler(SaxReader.this);
    InputSource is=new InputSource(context.getClassLoader().getResourceAsStream("building.xml"));
    reader.parse(is);
    return getFeed();
    } catch (ParserConfigurationException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (SAXException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return null;
    }
      

  4.   

    XML不是空白,你可以看到log已经打印id,title,content,pubdate属性
      

  5.   

    部分待解析XML  <?xml version="1.0" encoding="utf-8" ?> 
    - <SOURCE>
    - <ITEMS name="News">
      <ID>53140</ID> 
      <TITLE>【赛程回顾】凤凰香郡摄影比赛</TITLE> 
      <CONTENT>“风景这边独好”2011凤凰香郡摄影大赛5月20日开始面向市民征稿,截止到5月31日征稿结束共收参赛作品579幅。6月12日,由凤凰香郡、十房网、摄影专业人士组成评审团,评选出33幅获奖作品。其中李军摄影作品“东城新画卷”荣获一等奖,奖金2000元,并被聘为《地产观》特约摄影师;李景成、赵航荣获二等奖,获得奖金800元;汪洋、李持等荣获三等奖,奖金300元;陈黎、杨钊、崔少卿等25人荣获优秀奖。</CONTENT> 
      <PUBDATE>2011-06-14</PUBDATE> 
      </ITEMS>
    - <ITEMS name="News">
      <ID>52990</ID> 
      <TITLE>2011年十堰房地产高峰论坛召开</TITLE> 
      <CONTENT>最严厉新政迄今一年有余,在一系列限购、限价措施下,一线城市成交量大跌,房价出现较大降幅,房企发展规划出现转折。那么在十堰,深受政策影响的房地产行业会将如何发展呢?</CONTENT> 
      <PUBDATE>2011-05-31</PUBDATE> 
      </ITEMS>
    - <ITEMS name="News">
      <ID>50625</ID> 
      <TITLE>十堰楼市2011 众楼盘抢滩1月群星荟萃</TITLE> 
      <CONTENT>虽说国家为了遏制不断上涨的房价,多次出台调控政策进行打压,但却未达到预期效果。而十堰楼市却是一片火热,没有出现楼市调控使房价降下来的局面。新年伊始,许多优质楼盘选择在一月打响新年开门红,今天特别针对2011年1月份即将开盘的楼盘做了集中展示,希望能给有意向置业者提供一些参考。</CONTENT> 
      <PUBDATE>2011-01-11</PUBDATE> 
      </ITEMS>
    - <ITEMS name="News">
      <ID>49936</ID> 
      <TITLE>楼市调查:房展会上来自开发商的声音</TITLE> 
      <CONTENT>大家可以看到,各个展位都聚满了购房者,置业顾问也在为他们耐心解答。那作为开发商,精心布置展位来参加这次房展会目的何在呢,我们一起去了解一下。</CONTENT> 
      <PUBDATE>2010-11-27</PUBDATE> 
      </ITEMS>
    - <ITEMS name="News">
      <ID>49878</ID> 
      <TITLE>调查:十堰房展会是楼市拐点吗(下)</TITLE> 
      <CONTENT>在上期节目中,我们从市民那里了解到,通过这次房展会,市民一致表示对房价下跌并不看好,观望气氛依然浓厚。那今天就让我们走进开发商,看看他们从这次房展会中又有什么样的收获呢?</CONTENT> 
      <PUBDATE>2010-11-24</PUBDATE> 
      </ITEMS>
      </SOURCE>
      

  6.   

    哥。你应该只贴。error的信息。不然。看着log头痛。我给你分析。分析哈
      

  7.   

    麻烦把Log中的error贴出来哈。而且你加了访问网络的权限没有那些东西没有??
      

  8.   

    private List<News> newsList;
    private News news;
    private String preTag;

    public List<News> getNewsList()
    {
    return newsList;
    }

    @Override
    public void startDocument() throws SAXException
    {
    newsList = new ArrayList<News>();
    }

    @Override
    public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
    {
    //Log.e("qName", qName);
        if ("ITEMS".equals(localName))
    {
    news = new News();
    }
    preTag = localName;
    }

    @Override
    public void characters(char[] ch, int start, int length) throws SAXException
    {
    if (news!=null)
    {
    String data = new String(ch, start,length);
    if ("ID".equals(preTag))
    {
        news.setId(data);
    }
    else if ("TITLE".equals(preTag))
    {
    news.setTitle(data);
    }
    else if ("CONTENT".equals(preTag))
                {
                    news.setContent(data);
                }
    else if ("PUBDATE".equals(preTag))
                {
                    news.setPubDate(data);
                }
    }
    } @Override
    public void endElement(String uri, String localName, String qName) throws SAXException
    {
        if ("ITEMS".equals(localName)&&news!=null)
    {
    newsList.add(news);
    news = null;
    }
    preTag = null;
    }
    @Override
    public void endDocument() throws SAXException
    {
    super.endDocument();
    Log.e("endDocument", "");

    }
      

  9.   

    一看就是书上代码,你加了网络权限没?在Android配置文件里面加上访问因特网的权限
      

  10.   

    不是书上的,是EOE论坛上的。请仔细看贴子啊,没有加访问网络权限,我怎么能打印出解析出来的XML信息呢?
      

  11.   

    源代码都,请你亲自放到Eclipse中运行去,就知道了。
      

  12.   

    还在纠结这个啊
    @Override
        public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
        {
            Log.d("qName", qName);@Override
        public void characters(char[] ch, int start, int length) throws SAXException
        {
            Log.d("preTag ", preTag);
    请在这两个位置加相应的注释,请自己理解
      

  13.   

    没用过sax解析,一直用jdom解析,不敢多说话.你先写一个能遍历"任意的且合法的"xml的程序.那么我想你的问题就能迎刃而解,你自己也能提高.类似的程序我用jdom写了一个,然后自己封装了几个参数,
    以后每次用,传参数就能得到内容了.
      

  14.   

    我遇到的问题是 有的xml解析的出来,有的解析不出来 ,我打开该网页查看源文件时 套路都是一样的  为什么解析不出来呢?????  求解!!!