0

我是android编程的新手。我想创建可以解析 xml 文件的应用程序。下面是xml文件结构

<Cuaca>
<Tanggal>
<Mulai>30 March 2013</Mulai>
<MulaiPukul>07.00</MulaiPukul>
<Sampai>31 March 2013</Sampai>
<SampaiPukul>07.00</SampaiPukul>
</Tanggal>
<Isi>
<Row>
<Kota>Wates</Kota>
<point>
<coordinates>-</coordinates>
</point>
<Lintang>-7.81337</Lintang>
<Bujur>110.14757</Bujur>
<Balai>BBMKG_Ciputat</Balai>
<Propinsi>DI Yogyakarta</Propinsi>
<Cuaca>Berawan</Cuaca>
<_symbol>../imagesSWF/Berawan.swf</_symbol>
<SuhuMin>24</SuhuMin>
<SuhuMax>32</SuhuMax>
<KelembapanMin>67</KelembapanMin>
<KelembapanMax>96</KelembapanMax>
<KecepatanAngin>15</KecepatanAngin>
<ArahAngin>Tenggara</ArahAngin>
</Row>
<Row>
<Kota>Bantul</Kota>
<point>
<coordinates>-</coordinates>
</point>
<Lintang>-7.90749</Lintang>
<Bujur>110.35802</Bujur>
<Balai>BBMKG_Ciputat</Balai>
<Propinsi>DI Yogyakarta</Propinsi>
<Cuaca>Berawan</Cuaca>
<_symbol>../imagesSWF/Berawan.swf</_symbol>
<SuhuMin>24</SuhuMin>
<SuhuMax>33</SuhuMax>
<KelembapanMin>64</KelembapanMin>
<KelembapanMax>95</KelembapanMax>
<KecepatanAngin>15</KecepatanAngin>
<ArahAngin>Tenggara</ArahAngin>
</Row>
<Row>
<Kota>Wonosari</Kota>
<point>
<coordinates>-</coordinates>
</point>
<Lintang>-7.99321</Lintang>
<Bujur>110.58518</Bujur>
<Balai>BBMKG_Ciputat</Balai>
<Propinsi>DI Yogyakarta</Propinsi>
<Cuaca>Berawan</Cuaca>
<_symbol>../imagesSWF/Berawan.swf</_symbol>
<SuhuMin>25</SuhuMin>
<SuhuMax>32</SuhuMax>
<KelembapanMin>65</KelembapanMin>
<KelembapanMax>94</KelembapanMax>
<KecepatanAngin>15</KecepatanAngin>
<ArahAngin>Tenggara</ArahAngin>
</Row>
</Isi>
</Cuaca>

我使用 DOM 解析器成功解析了上面的页面。但我想要的是只从 xml 文件中提取一部分而不循环,例如:

<Row>
<Kota>Wates</Kota>
<point>
<coordinates>-</coordinates>
</point>
<Lintang>-7.81337</Lintang>
<Bujur>110.14757</Bujur>
<Balai>BBMKG_Ciputat</Balai>
<Propinsi>DI Yogyakarta</Propinsi>
<Cuaca>Berawan</Cuaca>
<_symbol>../imagesSWF/Berawan.swf</_symbol>
<SuhuMin>24</SuhuMin>
<SuhuMax>32</SuhuMax>
<KelembapanMin>67</KelembapanMin>
<KelembapanMax>96</KelembapanMax>
<KecepatanAngin>15</KecepatanAngin>
<ArahAngin>Tenggara</ArahAngin>
</Row>

任何人都可以帮助我吗?对不起,如果我的写作很乱,那是因为我第一次在论坛上提问。

4

1 回答 1

0

如果要解析特定节点,则需要像这样移动到该节点,

   NodeList row_nodes = document.getElementsByTagName("Row");
                   for (int i = row_id; i < row_nodes.getLength();) {
                           org.w3c.dom.Element row_element = (org.w3c.dom.Element) row_nodes                                            .item(i);


                           break;
                   }

row_id是特定节点的数量,如果row_id是 0,那么它将解析

<Row>
<Kota>Wates</Kota>
...
</Row>

如果row_id是 1 那么它将解析

<Row>
<Kota>Bantul</Kota>
...
</Row>

如果row_id是 2 那么它将解析

<Row>
<Kota>Wonosari</Kota>
...
</Row>

希望这对你有帮助,

于 2013-03-29T09:38:41.670 回答