| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1295 人关注过本帖
标题:大神求解哦!!郁闷中
只看楼主 加入收藏
butterfeild
Rank: 1
等 级:新手上路
帖 子:20
专家分:6
注 册:2015-4-30
结帖率:75%
收藏
已结贴  问题点数:5 回复次数:9 
大神求解哦!!郁闷中
从工伤保险基金按月支付伤残津贴,标准为:一级伤残、二级伤残、三级伤残、四级伤残各为本人工资的(       )。伤残津贴实际金额低于当地最低工资标准的,由工伤保险基金补足差额。 A、100%   90%   80%   70%     B、95%   80%   75%   60% C、90%    85%   80%   75%     D、70%   60%   50%   30%

XML解析出来直接是这样的字符串,是子节点下的text文本
求大神!要如何分割成(题目,选项A,选项B,选项C,选项D)数组啊,好蛋疼啊,是动态数据,其他字符串格式不一定是这样的。答案数量根据类型有单选,多选,判断3种随机!跪求解
搜索更多相关主题的帖子: 工伤保险 最低工资 字符串 动态 如何 
2015-04-30 23:40
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:5 
你是要用javascript读取xml文件?
这可不是明智的选择,json会比xml好用的多。
如果只能用xml的话,你可以使用jquery。
如果你已经读取完成,那选项A B C D就很容易分割了,就按照这四个字母substr一下不就好了?

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2015-05-01 10:51
butterfeild
Rank: 1
等 级:新手上路
帖 子:20
专家分:6
注 册:2015-4-30
收藏
得分:0 
以下是引用冰镇柠檬汁儿在2015-5-1 10:51:48的发言:

你是要用javascript读取xml文件?
这可不是明智的选择,json会比xml好用的多。
如果只能用xml的话,你可以使用jquery。
如果你已经读取完成,那选项A B C D就很容易分割了,就按照这四个字母substr一下不就好了?


服务器回传的数据就是XML的,我已经解析出来,并把题目和选项分割了,选项在做一次用ABCD分割?
2015-05-01 17:32
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
确切的说是分割4次,倒着从“D、”开始,“C、”“B、”“A、”,完成后剩下的就是题目,选项也分割完成

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2015-05-01 20:40
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
其实用for循环截取会简单点,至少可以适应E、F、G、……的更多的选项,呵呵

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2015-05-01 20:42
butterfeild
Rank: 1
等 级:新手上路
帖 子:20
专家分:6
注 册:2015-4-30
收藏
得分:0 
回复 4楼 冰镇柠檬汁儿
看起来比较low的写法!有没有方法跟精简点,可读性好一点,有时我自己都看迷糊!这个函数目前题目中出现了A或其他字母的时候就会出错,选项会出问题
如果倒着分割,万一出现选项 A、B和F B、F和B C、B和C D、C和B,郁闷了
function answerOptions(id, type, text, num) {
    var page = "";
    var answerTypeName = "";
    var newText = text;
    newText = newText.replace(/A,/g, 'A、');
    newText = newText.replace(/B,/g, 'B、');
    newText = newText.replace(/C,/g, 'C、');
    newText = newText.replace(/D,/g, 'D、');
    newText = newText.replace(/A./g, 'A、');
    newText = newText.replace(/B./g, 'B、');
    newText = newText.replace(/C./g, 'C、');
    newText = newText.replace(/D./g, 'D、');
    newText = newText.replace(/\ +/g, '');
    switch (type) {
        case "0": answerTypeName = "单选题";
            break;
        case "1": answerTypeName = "判断题";
            break;
        case "2": answerTypeName = "多选题";
            break;
    }
    if (type == "2") {
        page += "<fieldset data-role=\'controlgroup\' name=\'answerList\' id=\'" + id + "||2\'>";
        var strText = newText.split("A、");
        for (i = 0; i < strText.length; i++) {
            if (i == 1) {
                var answerResults = "A、" + strText[i];
                var myarray = answerResults.split(/[ABCD]/);
                for (i = 0; i < myarray.length; i++) {
                    if (myarray[i] != "" && myarray[i] != "undefined") {
                        if (i == 1) {
                            page += "<label for=\'" + id + "||A\'>A" + myarray[i] + "</label><input type=\'checkbox\' name=\'" + id + "\' id=\'" + id + "||A\' value=\'1\'>";
                        } else if (i == 2) {
                            page += "<label for=\'" + id + "||B\'>B" + myarray[i] + "</label><input type=\'checkbox\' name=\'" + id + "\' id=\'" + id + "||B\' value=\'2\'>";
                        } else if (i == 3) {
                            page += "<label for=\'" + id + "||C\'>C" + myarray[i] + "</label><input type=\'checkbox\' name=\'" + id + "\' id=\'" + id + "||C\' value=\'3\'>";
                        } else if (i == 4) {
                            page += "<label for=\'" + id + "||D\'>D" + myarray[i] + "</label><input type=\'checkbox\' name=\'" + id + "\' id=\'" + id + "||D\' value=\'4\'>";
                        } else if (i == 5) {
                            page += "<label for=\'" + id + "||E\'>E" + myarray[i] + "</label><input type=\'checkbox\' name=\'" + id + "\' id=\'" + id + "||E\' value=\'5\'>";
                        }
                    }
                }
            } else {
                page += "<legend>试题" + num + ":" + strText[i] + "(" + answerTypeName + ")</legend>";
            }
        }
        page += "</fieldset>";
        page += "<hr size=\'6px\' color=\'#0098FF\'/>";
    } else {
        page += "<fieldset data-role=\'controlgroup\' name=\'answerList\' id=\'" + id + "||1\'>";
        var strText = newText.split("A、");
        for (i = 0; i < strText.length; i++) {
            if (i == 1) {
                var answerResults = "A、" + strText[i];
                var myarray = answerResults.split(/[ABCD]/);
                for (i = 0; i < myarray.length; i++) {
                    if (myarray[i] != "" && myarray[i] != "undefined") {
                        if (i == 1) {
                            page += "<label for=\'" + id + "||A\'>A" + myarray[i] + "</label><input type=\'radio\' name=\'" + id + "\' id=\'" + id + "||A\' value=\'1\'>";
                        } else if (i == 2) {
                            page += "<label for=\'" + id + "||B\'>B" + myarray[i] + "</label><input type=\'radio\' name=\'" + id + "\' id=\'" + id + "||B\' value=\'2\'>";
                        } else if (i == 3) {
                            page += "<label for=\'" + id + "||C\'>C" + myarray[i] + "</label><input type=\'radio\' name=\'" + id + "\' id=\'" + id + "||C\' value=\'3\'>";
                        } else if (i == 4) {
                            page += "<label for=\'" + id + "||D\'>D" + myarray[i] + "</label><input type=\'radio\' name=\'" + id + "\' id=\'" + id + "||D\' value=\'4\'>";
                        } else if (i == 5) {
                            page += "<label for=\'" + id + "||E\'>E" + myarray[i] + "</label><input type=\'radio\' name=\'" + id + "\' id=\'" + id + "||E\' value=\'5\'>";
                        }
                    }
                }
            } else {
                page += "<legend>试题" + num + ":" + strText[i] + "(" + answerTypeName + ")</legend>";
            }
        }
        page += "</fieldset>";
        page += "<hr size=\'6px\' color=\'#0098FF\'/>";
    }
    return page;
}

[ 本帖最后由 butterfeild 于 2015-5-6 19:54 编辑 ]
2015-05-06 19:43
butterfeild
Rank: 1
等 级:新手上路
帖 子:20
专家分:6
注 册:2015-4-30
收藏
得分:0 
哎~感觉服务器响应用XML问题倒是不大,就是文本没用子节点细分,各种情况都会发生,通过分割字符串是解决不了这个问题的
2015-05-06 19:56
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
看你的代码好头晕,搞这么复杂啊
首先说个简单点的算法,将所有“A、”“B、”……的(注意我双引号里标红的是带“、”这个字符的)全部替换成“|”这类不会出现的字符,哪怕你一个一个的替换也没关系,反正最多不可能超过Z,然后按照“|”split,数组中第一个值是题目,其他的都是选项,剩下的就好处理了吧。

另外,我一直没搞清楚,你说的XML文件,是你自己用程序生成的,还是读的其他的网站的接口?

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2015-05-06 23:08
butterfeild
Rank: 1
等 级:新手上路
帖 子:20
专家分:6
注 册:2015-4-30
收藏
得分:0 
回复 8楼 冰镇柠檬汁儿
通过服务器接口回传的数据
2015-05-08 11:31
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
如果服务器端程序是你写的,那么建议改用json,并且重新设计一下值的格式

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2015-05-08 21:56
快速回复:大神求解哦!!郁闷中
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018494 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved