0

我有一个小问题:)。我的问题是,我解析一个 xml 并通过每个标签解析一个新片段。.但现在我的问题:通过创建标签,我必须给出FragmentPagerAdapter他必须创建的标签的数量。我不知道为什么我可以在没有数组列表的情况下给他它们。那是那里的代码说他必须创建多少标签。通常它会锁定像 public final String[] 标题 = {"123", "123"}; 但现在我将它解析为一个没有数组的字符串。

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

但这不适用于字符串,所以我的问题任何人都可以告诉我一个解决方案,我可以给他一些他解析的 xml 中的标签。

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();

不要忘记把它放在 try catch 块中,因为这个 API 会抛出异常。

干杯!!

于 2013-08-16T20:13:04.117 回答