Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.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
Java Html到xmlParser_Java_Android_Xml Parsing_Html Parsing - Fatal编程技术网

Java Html到xmlParser

Java Html到xmlParser,java,android,xml-parsing,html-parsing,Java,Android,Xml Parsing,Html Parsing,我正在通过xmlPullParser将xml内容导入数据库。 但若xml文件包含html标记,则xmlParser会出错 在XML文件中;使用<和>代替工作 可以直接在xml文件中使用html标记(如)吗 如果没有,如何解决这个问题?我是否需要转换所有“不清楚您的问题来自何处(如注释中所述,您的…标记是xml ok),不管我的两分钱是多少:如果您需要可以在大多数浏览器上轻松显示的xml文档(或可以轻松解析的html文件)我建议您不要浪费时间重新发明试图将HTML强制转换为XML的轮

我正在通过xmlPullParser将xml内容导入数据库。 但若xml文件包含html标记,则xmlParser会出错

  • 在XML文件中;使用<>代替工作

  • 可以直接在xml文件中使用html标记(如<和>)吗


  • 如果没有,如何解决这个问题?我是否需要转换所有“不清楚您的问题来自何处(如注释中所述,您的…标记是xml ok),不管我的两分钱是多少:如果您需要可以在大多数浏览器上轻松显示的xml文档(或可以轻松解析的html文件)我建议您不要浪费时间重新发明试图将HTML强制转换为XML的轮子,而是尝试使用XHTML:


    不清楚您的问题来自何处(如评论中所述,您的…标记是xml ok),不管我的两分钱是多少:如果您需要一个可以在大多数浏览器上轻松显示的xml文档(或一个可以轻松解析的html文件)我建议您不要浪费时间重新发明试图将HTML强制转换为XML的轮子,而是尝试使用XHTML:


    假设,我的student.xml文件位于资产文件夹中,如

    <students>
        <student id="11">
            <roll>1</roll>
            <name>sachin</name>
            <result>pass</result>
        </student>
        <student id="12">
            <roll>2</roll>
            <name>sehwag</name>
            <result>pass</result>
        </student>
        <student id="13">
            <roll>3</roll>
            <name>rohit</name>
            <result>fail</result>
        </student>
    </students>
    

    假设,我的student.xml文件位于资产文件夹中,如

    <students>
        <student id="11">
            <roll>1</roll>
            <name>sachin</name>
            <result>pass</result>
        </student>
        <student id="12">
            <roll>2</roll>
            <name>sehwag</name>
            <result>pass</result>
        </student>
        <student id="13">
            <roll>3</roll>
            <name>rohit</name>
            <result>fail</result>
        </student>
    </students>
    

    您可能希望完整准确地解释您遇到的“xmlParser错误”。您也可能希望完整准确地解释您尝试过的XML解析器。除了元素名称中的rogue空格(
    应该是
    )之外,您的“XML解析器”不起作用似乎是有效的XML。虽然HTML通常不是有效的XML,但。。。您添加的标记是无效的,因此将它们添加到有效的XML应该会再次生成有效的XML。您的文档更可能包含一个或多个未关闭的标记(如未配对的或一个或多个
    )…错误:
    XmlPullParserException:非法:“非法:”我修改了问题:使用b而不是…解决了问题!您可能希望完整准确地解释什么是“xmlParser错误”“你遇到了。您可能还希望完整准确地解释您尝试过的XML解析器。除了元素名称中的rogue空格(
    应该是
    ),您的“不工作”似乎是有效的XML。虽然HTML通常不是有效的XML,但。。。您添加的标记是无效的,因此将它们添加到有效的XML应该会再次生成有效的XML。您的文档更可能包含一个或多个未关闭的标记(如未配对的或一个或多个
    )…错误:
    xmlpullParseRexException:非法:”“非法:”“我修改了问题:使用b而不是…解决了问题!
    
    try {
    
                XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
                XmlPullParser xpp = factory.newPullParser();
    
                xpp.setInput(getAssets().open("student.xml"), null);
                int event = xpp.getEventType();
    
                while (event != XmlPullParser.END_DOCUMENT) {
    
                    if (event == XmlPullParser.START_DOCUMENT) {
    
                    } else if (event == XmlPullParser.START_TAG) {
                        tname = xpp.getName();
                        if (tname.equalsIgnoreCase("student")) {
                            str += xpp.getAttributeValue(0).toString() + " : ";
    
                        }
    
                    } else if (event == XmlPullParser.END_TAG) {
    
                    } else if (event == XmlPullParser.TEXT) {
    
                        if (tname.equalsIgnoreCase("roll")) {
                            str += xpp.getText();
                            // event = xpp.next();
                        } else if (tname.equalsIgnoreCase("name")) {
                            str += xpp.getText();
                            // event = xpp.next();
                        } else if (tname.equalsIgnoreCase("result")) {
                            str += xpp.getText();
                            // event = xpp.next();
                        }
    
                    }
                    event = xpp.next();
                }
    
            } catch (XmlPullParserException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
            tv.setText(str);
        }