JAVA学习,记录成长

NodeList的长度是动态的

NodeListc长度是动态的,往其中插入或者删除某个节点,NodeList的长度是动态变化的。

private static Document removeNoImgNode(Document dom, String funCode) throws TransformerException{
        Node node =  XPathAPI.selectSingleNode(dom, "//img[@imgTypeCode='testNodeList']");
        NodeList nodeList = node.getChildNodes();
        if(nodeList != null && nodeList.getLength()>0){
            for(int i=0; i<nodeList.getLength(); i++){
                Node sonNode = nodeList.item(i);
                if(!sonNode.hasChildNodes()){
                    node.removeChild(sonNode);
                    --i;
                }
            }
        }
        return dom;
    }

XML中获取单个节点的方法有问题。

Element addImgEle = (Element) XPathAPI.selectSingleNode(flwImg,"//img[@imgCode='testNode']");

如果XML中有多个<img imgCode='testNode'/>,上诉方法总会取第一个。应该根据img标签其他属性来获取自己相要的Elment。

NodeList nodes = XPathAPI.selectNodeList(dom,"//img[@imgTypeCode='testNode']");
Element addImgEle = null;
for(int nodeC = 0; nodes!=null&&nodeC<nodes.getLength()nodeC++){
  Element nodesEle = (Element) nodes.item(nodeC);
  String myCountStr = nodesEle.getAttribute("myCount");
  if(attachedDocument.equals(myCountStr)){
      addImgEle = nodesEle;
      break;
      }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值