我有一个小问题:)。我的问题是,我解析xml并通过每个标签制作解析新片段。 。现在我的问题:
通过创建Tabs,我必须给FragmentPagerAdapter
他必须创建的标签数量。我知道为什么我可以给他们没有数组列表。那里的代码说明他必须创建多少标签。非常它锁定像
public final String [] titles = {“123”,“123”};但现在我将它解析为没有数组的字符串。
@Override
public int getCount() {
return Names.length();
}
但这对于Strings来说是不可能的,所以我的问题是任何人都可以告诉我一个解决方案,我可以从他解析的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;
}
但我得到一个错误,他无法解决数量。
答案 0 :(得分: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会抛出异常。
干杯!!