从XML文件中获取信息

时间:2011-09-21 19:52:56

标签: java xml dom-traversal

我正在尝试从此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 个答案:

答案 0 :(得分:1)

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");
            }
        }
    }
}

类似的东西

答案 1 :(得分:1)

我想,

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无效。