代码之家  ›  专栏  ›  技术社区  ›  yogsma

获取xml元素节点的文本内容

  •  1
  • yogsma  · 技术社区  · 14 年前

    我正在尝试获取此XML中第一个节点的文本内容。第一个节点(可扣除)是一个元素节点,当我得到文本内容时,我得到 “日历年$1500$1500$3000” “日历年”

    <Item type="Deductible" name="Deductible" id="a">Calendar Year
    <Item type="Text" name="Individual" id="b">$1,500</Item>
    <Item type="Text" name="Individual Out-of-network" id="id_4">$1,500</Item>
    <Item type="Text" name="Family" id="c">$3,000</Item>
    <Item type="Text" name="Family Out-of-network:" id="id_5">$3,000</Item>
    </Item>
    

    这就是我想要的

    dbuilder = dbc.newDocumentBuilder();
    Document doc = dbuilder.parse(new InputSource(new StringReader(plan.getProvisions())));
    NodeList nl = doc.getElementsByTagName("Item");
    for(int i = 0 ; i < nl.getLength(); i++){
        if(i == row){
          org.w3c.dom.Element e = (org.w3c.dom.Element)nl.item(i);
          value = e.getTextContent();
        }
    }
    
    1 回复  |  直到 14 年前
        1
  •  3
  •   khachik    14 年前

    如果根标记是 <Item type="Deductible" ... doc.getDocumentElement().getChildNodes().item(0).getNodeValue();

    否则你可以检查 type 属性值以检测 Item getElementsByTagName("Item"); .

    我会用 Java(1.5) XPath 用于选择 Item/@type='Deductible'