有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java解析具有空值属性的xml

拥有并输入此格式:

<table>
<tbody>
    <tr bgcolor='#999999'>
        <td nowrap width='1%'>
        </td>
        <td nowrap width='3%' align='center'>
            <font style='font-size: 8pt'> System ID </font>
        </td>
        <td nowrap width='5%' align='center'>   

使用删除此属性的顺序为:

    if (deletedString == null)
    {
        return exportedTable;
    }

    int tagPos = 0;
    String resultTable = exportedTable;
    while (resultTable.indexOf(deletedString) != -1)
    {
        tagPos = resultTable.indexOf(deletedString, tagPos);
        String beforTag = resultTable.substring(0, tagPos);
        String afterTag = resultTable.substring(tagPos + deletedString.length());

        resultTable = beforTag + afterTag;
    }
    return resultTable;

deletedString是nowrap,输入是可导出的。 但这会导致性能问题。有更好的方法吗


共 (2) 个答案

  1. # 1 楼答案

    您可以创建一个xmlstreamreader,并有一个while循环,只要streamreader存在,它就可以解析xml。hasNext()

    格式:

    //Create stream reader
    //Position at beginning of document
    
    //While the stream reader has next (can see next line)
    //perform action 
    
  2. # 2 楼答案

    我的建议:StringUtils.remove(source, substring)将从源字符串中删除子字符串的所有实例This answer对这种方法进行了基准测试,发现它比其他几种方法快五倍

    或者,使用StringBuilder聚合子字符串——每次连接两个字符串时,您都在创建一个新字符串,而StringBuilder是可变的,不需要在更新时创建新副本