<?xml version="1.0" encoding="utf-8"?><ConA id="container" >
<ConA id="ca_idnum" name="coa" >
<Text id="t_idnum"></Text>
<Edit id="e_idnum"></Edit>
</ConA> <ConB id="cb_sel">
<Select id="select"></Select>
<ConA id="subContainer" >
<Button id="submit"></Button>
</ConA>
</ConB> <ConC id="cb_sel">
<Button id="button"></Button>
</ConC></ConA>对于上面这样多层嵌套的xml文件该如何解析?我想解析这段代码,然后在控制台打印出每个节点的id,该怎么做,能否提供些参考代码?
<ConA id="ca_idnum" name="coa" >
<Text id="t_idnum"></Text>
<Edit id="e_idnum"></Edit>
</ConA> <ConB id="cb_sel">
<Select id="select"></Select>
<ConA id="subContainer" >
<Button id="submit"></Button>
</ConA>
</ConB> <ConC id="cb_sel">
<Button id="button"></Button>
</ConC></ConA>对于上面这样多层嵌套的xml文件该如何解析?我想解析这段代码,然后在控制台打印出每个节点的id,该怎么做,能否提供些参考代码?
解决方案 »
- 两台Android手机可以通过Wifi实现通讯吗?
- android写xml文件的时候alt+/不会自动提示了
- 关于android 2.2无法播放h264的问题
- android 自带的Market如何安装
- ConcentRecolver 更新 Contacts 中的Phones.NUMBER出错
- ImageView 如何自适应屏幕?
- ViewPager禁掉手势滑动,但htc或三星S4自带软键盘的上下左右键,仍就可以切换子页面
- android json数据 求教大神帮帮我,谢谢
- 矩阵图形的移动,,新手,,求大神指导
- ExpandableListView一个很奇特的错误
- 新手请教,Android启动后没有字符显示在界面
- 请问:如何实现Button的位置移动
InputStream in=this.getResources().getAssets().open("test.xml")
public void CXmlTests(InputStream in)
{
LoadXmlTask loadTask=new LoadXmlTask();
boolean result=true;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try
{
DocumentBuilder builder = factory.newDocumentBuilder();
Document dom = builder.parse(in);
Element root = dom.getDocumentElement();
NodeList items = root.getElementsByTagName("Layout");//查找所有person节点
if(items==null) return;
//取Layout节点
Node LayoutNode = items.item(0);
NamedNodeMap nMap=LayoutNode.getAttributes();//取Layout属性
if(nMap!=null)
{
for(int j=0;j<nMap.getLength();j++)
System.out.println(nMap.item(j).getNodeName()+" "+nMap.item(j).getNodeValue());
}
/*取Layout内所有节点*/
NodeList nodeList=LayoutNode.getChildNodes();
for(int j=0;j<nodeList.getLength();j++)
{
Node sNode=nodeList.item(j);
//这里处理 ConA ConB ConC 节点
System.out.println(sNode.getNodeName());
}
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
判断是标签的开始,获取属性id的值.public static XmlPullParser getXmlPullParser(Context context,
String fileName) throws XmlPullParserException, IOException {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser parser = factory.newPullParser();
parser.setInput(context.getAssets().open(fileName), "UTF-8");
return parser;
}
-------------------------------XmlPullParser parser = BaseXMLParse.getXmlPullParser(is);
int eventType = parser.getEventType();
while (eventType != parser.END_DOCUMENT) {
switch (eventType) {
case XmlPullParser.START_TAG:
.......
break;
}
}