Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 应用程序可以';我无法阅读我的XML Web服务_Android_Xml_Web Services - Fatal编程技术网

Android 应用程序可以';我无法阅读我的XML Web服务

Android 应用程序可以';我无法阅读我的XML Web服务,android,xml,web-services,Android,Xml,Web Services,我得到了一个xml 这里还有另一个xml 我的应用程序无法读取它。我不知道我该怎么办 代码如下: 公共类BeritaTerbaru扩展片段{ // All variables XMLParser parser; Document doc; String xml; ListView lv; ListViewAdapter adapter; ArrayList<HashMap<String, String>> menuItems; ProgressDialog pDialog

我得到了一个xml 这里还有另一个xml 我的应用程序无法读取它。我不知道我该怎么办

代码如下:

公共类BeritaTerbaru扩展片段{

// All variables
XMLParser parser;
Document doc;
String xml;
ListView lv;
ListViewAdapter adapter;
ArrayList<HashMap<String, String>> menuItems;
ProgressDialog pDialog;

// XML node keys
static final String KEY_ITEM = "item"; // parent node
static final String KEY_ID = "id";
static final String KEY_JUDUL = "judul";
static final String KEY_BERITA = "berita";

// Flag for current page
int current_page = 0;

public void onStart() {
    super.onStart();
    lv = (ListView) getView().findViewById(R.id.list);

    menuItems = new ArrayList<HashMap<String, String>>();

    new loadMoreListView().execute();

    // LoadMore button
    Button btnLoadMore = new Button(getActivity());
    btnLoadMore.setText("Load More");

    // Adding Load More button to lisview at bottom
    lv.addFooterView(btnLoadMore);

    // Getting adapter
    adapter = new ListViewAdapter(getActivity(), menuItems);
    lv.setAdapter(adapter);

    /**
     * Listening to Load More button click event
     * */
    btnLoadMore.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // Starting a new async task
            new loadMoreListView().execute();
        }
    });

    /**
     * Listening to listview single row selected
     * **/
    lv.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            // getting values from selected ListItem
            String name = ((TextView) view.findViewById(R.id.name))
                    .getText().toString();

            // Starting new intent
            Intent in = new Intent(getActivity(),
                    SingleMenuItemActivity.class);
            in.putExtra(KEY_JUDUL, name);
            startActivity(in);
        }
    });
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_beritaterbaru,
            container, false);
    return view;
}

/**
 * Async Task that send a request to url Gets new list view data Appends to
 * list view
 * */
private class loadMoreListView extends AsyncTask<Void, Void, Void> {

    @Override
    protected void onPreExecute() {
        // Showing progress dialog before sending http request
        pDialog = new ProgressDialog(getActivity());
        pDialog.setMessage("Please wait..");
        pDialog.setIndeterminate(true);
        pDialog.setCancelable(false);
        pDialog.show();
    }

    protected Void doInBackground(Void... unused) {
        // increment current page
        current_page += 1;

        // Next page request
        String URL = "http://www.ravaana.ml/webservice/" + current_page
                + ".xml";
        parser = new XMLParser();
        xml = parser.getXmlFromUrl(URL); // getting XML
        doc = parser.getDomElement(xml); // getting DOM element

        NodeList nl = doc.getElementsByTagName(KEY_ITEM);
        // looping through all item nodes <item>
        for (int i = 0; i < nl.getLength(); i++) {
            // creating new HashMap
            HashMap<String, String> map = new HashMap<String, String>();
            Element e = (Element) nl.item(i);

            // adding each child node to HashMap key => value
            map.put(KEY_ID, parser.getValue(e, KEY_ID));
            map.put(KEY_JUDUL, parser.getValue(e, KEY_JUDUL));
            map.put(KEY_BERITA, parser.getValue(e, KEY_BERITA));
            // adding HashList to ArrayList
            menuItems.add(map);
        }
        return null;
    }

    protected void onPostExecute(Void unused) {
        // closing progress dialog
        pDialog.dismiss();

        // get listview current position - used to maintain scroll position
        int currentPosition = lv.getFirstVisiblePosition();

        // Appending new data to menuItems ArrayList
        adapter = new ListViewAdapter(getActivity(), menuItems);
        lv.setAdapter(adapter);

        // Setting new scroll position
        lv.setSelectionFromTop(currentPosition + 0, 0);
    }
}
//所有变量
XMLParser;
文件文件;
字符串xml;
ListView lv;
ListViewAdapter适配器;
ArrayList菜单项;
ProgressDialog;
//XML节点密钥
静态最终字符串KEY\u ITEM=“ITEM”//父节点
静态最终字符串键\u ID=“ID”;
静态最终字符串键\u JUDUL=“JUDUL”;
静态最终字符串键\u BERITA=“BERITA”;
//当前页面的标志
int当前页面=0;
public void onStart(){
super.onStart();
lv=(ListView)getView().findViewById(R.id.list);
menuItems=newarraylist();
新建loadMoreListView().execute();
//加载更多按钮
按钮btnLoadMore=新按钮(getActivity());
btnLoadMore.setText(“加载更多”);
//将“加载更多”按钮添加到底部的lisview
lv.addFooterView(btnLoadMore);
//获取适配器
adapter=新的ListViewAdapter(getActivity(),menuItems);
低压设置适配器(适配器);
/**
*正在侦听加载更多按钮单击事件
* */
btnLoadMore.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图arg0){
//启动新的异步任务
新建loadMoreListView().execute();
}
});
/**
*正在侦听listview选定的单行
* **/
lv.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//从选定的ListItem获取值
字符串名称=((TextView)view.findViewById(R.id.name))
.getText().toString();
//开始新的意图
意向输入=新意向(getActivity(),
SingleMenuItemActivity.class);
in.putExtra(KEY_JUDUL,姓名);
星触觉(in);
}
});
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图=充气机。充气(R.layout.fragment_beritaterbaru,
货柜(虚假);;
返回视图;
}
/**
*向url发送请求的异步任务将获取新的列表视图数据附加到
*列表视图
* */
私有类loadMoreListView扩展了异步任务{
@凌驾
受保护的void onPreExecute(){
//发送http请求前显示进度对话框
pDialog=newprogressdialog(getActivity());
pDialog.setMessage(“请稍候…”);
pDialog.setUndeterminate(真);
pDialog.setCancelable(假);
pDialog.show();
}
受保护的空位背景(空位…未使用){
//增加当前页面
当前页面+=1;
//下一页请求
字符串URL=”http://www.ravaana.ml/webservice/“+当前页面
+“.xml”;
parser=newxmlparser();
xml=parser.getXmlFromUrl(URL);//获取xml
doc=parser.getDoElement(xml);//获取DOM元素
NodeList nl=doc.getElementsByTagName(键项);
//循环通过所有项目节点
对于(int i=0;ivalue
put(KEY_ID,parser.getValue(e,KEY_ID));
put(KEY_JUDUL,parser.getValue(e,KEY_JUDUL));
put(KEY_BERITA,parser.getValue(e,KEY_BERITA));
//将哈希列表添加到ArrayList
menuItems.add(地图);
}
返回null;
}
受保护的void onPostExecute(未使用的void){
//关闭进度对话框
pDialog.disclose();
//获取listview当前位置-用于保持滚动位置
int currentPosition=lv.getFirstVisiblePosition();
//将新数据追加到menuItems ArrayList
adapter=新的ListViewAdapter(getActivity(),menuItems);
低压设置适配器(适配器);
//设置新的滚动位置
从顶部选择低压设置(当前位置+0,0);
}
}
}

这是logcat

06-26 00:57:30.050: D/dalvikvm(808): GC_FOR_ALLOC freed 206K, 6% free 5068K/5372K, paused 32ms, total 32ms
06-26 00:57:30.060: E/Error:(808): Unexpected token (position:TEXT @1:4 in java.io.StringReader@b4fbbbf0) 
06-26 00:57:30.060: W/dalvikvm(808): threadid=11: thread exiting with uncaught exception (group=0xb4aa7b90)
06-26 00:57:30.060: E/AndroidRuntime(808): FATAL EXCEPTION: AsyncTask #1
06-26 00:57:30.060: E/AndroidRuntime(808): Process: info.androidhive.slidingmenu, PID: 808
06-26 00:57:30.060: E/AndroidRuntime(808): java.lang.RuntimeException: An error occured while executing doInBackground()
06-26 00:57:30.060: E/AndroidRuntime(808):  at android.os.AsyncTask$3.done(AsyncTask.java:300)
06-26 00:57:30.060: E/AndroidRuntime(808):  at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
06-26 00:57:30.060: E/AndroidRuntime(808):  at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
06-26 00:57:30.060: E/AndroidRuntime(808):  at java.util.concurrent.FutureTask.run(FutureTask.java:242)
06-26 00:57:30.060: E/AndroidRuntime(808):  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
06-26 00:57:30.060: E/AndroidRuntime(808):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
06-26 00:57:30.060: E/AndroidRuntime(808):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
06-26 00:57:30.060: E/AndroidRuntime(808):  at java.lang.Thread.run(Thread.java:841)
06-26 00:57:30.060: E/AndroidRuntime(808): Caused by: java.lang.NullPointerException
06-26 00:57:30.060: E/AndroidRuntime(808):  at info.androidhive.slidingmenu.BeritaTerbaru$loadMoreListView.doInBackground(BeritaTerbaru.java:129)
06-26 00:57:30.060: E/AndroidRuntime(808):  at info.androidhive.slidingmenu.BeritaTerbaru$loadMoreListView.doInBackground(BeritaTerbaru.java:1)
06-26 00:57:30.060: E/AndroidRuntime(808):  at android.os.AsyncTask$2.call(AsyncTask.java:288)
06-26 00:57:30.060: E/AndroidRuntime(808):  at java.util.concurrent.FutureTask.run(FutureTask.java:237)
06-26 00:57:30.060: E/AndroidRuntime(808):  ... 4 more
06-26 00:57:32.400: E/WindowManager(808): android.view.WindowLeaked: Activity info.androidhive.slidingmenu.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{b4f5d9e0 V.E..... R......D 0,0-383,96} that was originally added here
06-26 00:57:32.400: E/WindowManager(808):   at android.view.ViewRootImpl.<init>(ViewRootImpl.java:346)
06-26 00:57:32.400: E/WindowManager(808):   at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:248)
06-26 00:57:32.400: E/WindowManager(808):   at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
06-26 00:57:32.400: E/WindowManager(808):   at android.app.Dialog.show(Dialog.java:286)
06-26 00:57:32.400: E/WindowManager(808):   at info.androidhive.slidingmenu.BeritaTerbaru$loadMoreListView.onPreExecute(BeritaTerbaru.java:116)
06-26 00:57:32.400: E/WindowManager(808):   at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587)
06-26 00:57:32.400: E/WindowManager(808):   at android.os.AsyncTask.execute(AsyncTask.java:535)
06-26 00:57:32.400: E/WindowManager(808):   at info.androidhive.slidingmenu.BeritaTerbaru.onStart(BeritaTerbaru.java:48)
06-26 00:57:32.400: E/WindowManager(808):   at android.app.Fragment.performStart(Fragment.java:1724)
06-26 00:57:32.400: E/WindowManager(808):   at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:918)
06-26 00:57:32.400: E/WindowManager(808):   at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
06-26 00:57:32.400: E/WindowManager(808):   at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1044)
06-26 00:57:32.400: E/WindowManager(808):   at android.app.FragmentManagerImpl.dispatchStart(FragmentManager.java:1858)
06-26 00:57:32.400: E/WindowManager(808):   at android.app.Activity.performStart(Activity.java:5259)
06-26 00:57:32.400: E/WindowManager(808):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2149)
06-26 00:57:32.400: E/WindowManager(808):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
06-26 00:57:32.400: E/WindowManager(808):   at android.app.ActivityThread.access$700(ActivityThread.java:135)
06-26 00:57:32.400: E/WindowManager(808):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
06-26 00:57:32.400: E/WindowManager(808):   at android.os.Handler.dispatchMessage(Handler.java:102)
06-26 00:57:32.400: E/WindowManager(808):   at android.os.Looper.loop(Looper.java:137)
06-26 00:57:32.400: E/WindowManager(808):   at android.app.ActivityThread.main(ActivityThread.java:4998)
06-26 00:57:32.400: E/WindowManager(808):   at java.lang.reflect.Method.invokeNative(Native Method)
06-26 00:57:32.400: E/WindowManager(808):   at java.lang.reflect.Method.invoke(Method.java:515)
06-26 00:57:32.400: E/WindowManager(808):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
06-26 00:57:32.400: E/WindowManager(808):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
06-26 00:57:32.400: E/WindowManager(808):   at dalvik.system.NativeStart.main(Native Method)
06-26 00:57:32.560: I/Process(808): Sending signal. PID: 808 SIG: 9
06-26 00:57:30.050:D/dalvikvm(808):释放206K的所有元素的GC,6%的释放5068K/5372K,暂停32ms,总计32ms
06-26 00:57:30.060:E/错误:(808):意外标记(位置:java.io中的TEXT@1:4)。StringReader@b4fbbbf0) 
06-26 00:57:30.060:W/dalvikvm(808):threadid=11:线程以未捕获异常退出(组=0xb4aa7b90)
06-26 00:57:30.060:E/AndroidRuntime(808):致命异常:AsyncTask#1
06-26 00:57:30.060:E/AndroidRuntime(808):进程:info.androidhive.slidingmenu,PID:808
06-26 00:57:30.060:E/AndroidRuntime(808):java.lang.RuntimeException:执行doInBackground()时出错
06-26 00:57:30.060:E/AndroidRuntime(808):在android.os.AsyncTask$3.done(AsyncTask.java:300)
06-26 00:57:30.060:E/AndroidRuntime(808):在java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
06-26 00:57:30.060:E/AndroidRuntime(808):在java.util.concurrent.FutureTask.setException(FutureTask.java:222)
06-26 00:57:30.060:E/AndroidRuntime(808):在java.util.concurrent.FutureTask.run(FutureTask.java:242)
06-26 00:57:30.060:E/AndroidRuntime(808):在android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
06-26 00:57:30.060:E/AndroidRuntime(808):位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
06-26 00:57:30.060:E/AndroidRuntime(808):在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
06-26 00:57:30.060:E/AndroidRuntime(808):在java.lang.Thread.run(Thread.java:841)处
06-26 00:57:30.060:E/AndroidRuntime(808):由以下原因引起:java.lang.NullPointerException
06-26 00:57:30.060:E/AndroidRuntime(808):在info.androidhive.slidingmenu.BeritaTerbaru$loadMoreListView.doInBackgrou
protected Void doInBackground(Void... unused) {
    current_page += 1;

    try {
    String urls = "http://www.ravaana.ml/webservice/" + current_page + ".xml";

    URL url = new URL(urls);
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document doc = db.parse(new InputSource(url.openStream()));

    doc.getDocumentElement().normalize();

    NodeList nodeList = doc.getElementsByTagName(KEY_ITEM);

    for (int i = 0; i < nodeList.getLength(); i++) {

    HashMap<String, String> map = new HashMap<String, String>();
    Node node = nodeList.item(i);       

    Element fstElmnt = (Element) node;
    NodeList nameList = fstElmnt.getElementsByTagName(KEY_ID);
    Element nameElement = (Element) nameList.item(0);
    nameList = nameElement.getChildNodes();

    map.put(KEY_ID, (((Node) nameList.item(0)).getNodeValue()));

    Element fstElmnt1 = (Element) node;
    NodeList nameList1 = fstElmnt1.getElementsByTagName(KEY_JUDUL);
    Element nameElement1 = (Element) nameList1.item(0);
    nameList1 = nameElement1.getChildNodes();

    map.put(KEY_JUDUL, (((Node) nameList1.item(0)).getNodeValue()));

    Element fstElmnt2 = (Element) node;
    NodeList nameList2 = fstElmnt2.getElementsByTagName(KEY_BERITA);
    Element nameElement2 = (Element) nameList2.item(0);
    nameList2 = nameElement2.getChildNodes();

    map.put(KEY_BERITA, (((Node) nameElement2.item(0)).getNodeValue()));

    menuItems.add(map);

    }

    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (ParserConfigurationException e) {
        e.printStackTrace();
    } catch (SAXException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}