Получить информацию из файла XML - PullRequest
0 голосов
/ 21 сентября 2011

Я пытаюсь извлечь текстовое значение и значение размера в теге строки из этого xml.

<items>
    <item>
        <table>
            <row text="foo" size="4"/>
        </table>
   </item>
</items>

Мне удалось получить значения для этого xml:

 <items>
    <item>
         <textbox text="foo">
    </item>
 </items>

с этим кодом.

NodeList textbox = element.getElementsByTagName("textbox");
line = (Element) textbox.item(0);
String textbox_text = line.getAttribute("text");

Может кто-нибудь сказать мне, как мне поступить об этом?

Ответы [ 2 ]

1 голос
/ 22 сентября 2011

Полагаю,

NodeList textbox = element.getElementsByTagName("row");
line = (Element) textbox.item(0);
String textbox_text = line.getAttribute("text");
String textbox_size = line.getAttribute("size");

Если вы хотите использовать textbox_size в качестве числа, вы можете привести его к типу int.

Если этот код не работает, это может быть из-за, казалось бы, случайного тега, делающего этот XML недействительным.

1 голос
/ 22 сентября 2011
NodeList items = element.getElementsByTagName("items");
for(int i=0 i<items.getLength(); i++)
{
    NodeList item = items.item(i).getElementsByTagName("item");
    for(int j=0 j<item.getLength(); j++)
    {
        NodeList table = item.item(j).getElementsByTagName("table");
        for(int k=0 i<table.getLength(); k++)
        {
            NodeList rows = table.item(k).getElementsByTagName("rows");
            for(int h=0 i<table.getLength(); h++)
            {
                rows.item(h).getAtribbute("text");
                rows.item(h).getAtribbute("size");
            }
        }
    }
}

что-то в этом роде

...