Я пытаюсь получить текстовое содержимое первого узла в этом XML. Первый узел (франшиза) является узлом элемента, когда я получаю текстовое содержание, я получаю «Календарный год $ 1500 $ 1500 $ 3000» вместо того, чтобы просто «Календарный год»Получение текстового содержимого узла элемента xml
<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();
}
}
Опубликуйте код, который используете. Похоже, вы выбираете все дочерние узлы, а также Deductible, но без дополнительной информации это не представляется возможным рассказать. Кроме того, ваш XML-пример неполный (без закрытия/вычитания) –
Я не думаю, что он неполный. – yogsma
Ваш XML хорошо сформирован, но у вас смешанный контент, т. Е. Элемент Item с типом Deductible содержит как текст, так и другие элементы Item. Это намеренно? – corriganjc