0

少し質問があります:)私の問題は、xmlを解析し、新しいフラグメントを解析するすべてのタグで作成することです。.しかし、今私の問題: タブを作成することによって、FragmentPagerAdapter彼が作成しなければならないタブの数を指定する必要があります.配列リストなしでタブを指定できる理由がわかりません.そこのコードは、彼が作成する必要があるタブの数を示しています.通常はロックします. public final String[] titles = {"123", "123"}; のように しかし今、私はそれを配列なしの文字列に解析します。

@Override
        public int getCount() {
            return Names.length();
        }

しかし、これは文字列では不可能なので、私の質問で誰かが私に解決策を教えてもらえますか?

xml:

<rooms>
<room>
        <roomname>Wohnzimmer</roomname>
        <devices>
            <device>
                <deviceid>1</deviceid>
                <devicename>some name</devicename>
                <action1>3</action1>
                <action2>4</action2>
                <devicetype>some name</devicetype>
                <text1>1</text1>
                <text2>2</text2>
            </device>
        </devices>
    </room>
        <room>
        <roomname>Wohnzimmer</roomname>
        <devices>
            <device>
                <deviceid>1</deviceid>
                <devicename>some name</devicename>
                <action1>3</action1>
                <action2>4</action2>
                <devicetype>some name</devicetype>
                <text1>1</text1>
                <text2>2</text2>
            </device>
        </devices>
    </room>
</rooms>

部屋のカテゴリからのxmlパーサー解析がある子が必要です(部屋のタグからの子)。部屋のタグが持っているタグを数えたいです。この場合は 2 です。

私のコードは次のようになります。

@Override
        public int getCount() {
            try {
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            DocumentBuilder db = dbf.newDocumentBuilder();
            Document dom = db.parse("employees.xml");
            Element element = (Element) dom.getElementsByTagName("app_type").item(0);
            NodeList nodes = dom.getElementsByTagName("tagName");
            int count = nodes.getLength();      
        }
        catch (ParserConfigurationException pce) {
        pce.printStackTrace();
        }
        catch (IOException ioe) {
        ioe.printStackTrace();
        }
        catch (SAXException sae) {
        sae.printStackTrace();
        }
            return count;
        }

しかし、カウントでエラーが発生し、カウントを解決できません。

4

1 に答える 1

0

あなたがxmlを持っていて、そのxmlからいくつかのタグを解析しようとしていると私が理解したのは、XML Java APIを使用できることです

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document dom = db.parse("employees.xml");
Element element = (Element) dom.getElementsByTagName("app_type").item(0);
NodeList nodes = dom.getElementsByTagName('"tagName");
int count = nodes.getLength();

この API は例外をスローするため、これを try catch ブロックに入れることを忘れないでください。

乾杯 !!

于 2013-08-16T20:13:04.117 に答える