日期:2014-05-20  浏览次数:20700 次

求救:谁使用过KXML??
谁用过这个解析过KXML啊,这玩意怎么用啊,原来用过一个轻量级的工具,严格要求标签必须成对出现,现在要处理非成对出现的情况了,打算用这个工具,谁能帮帮忙啊,这个开源的代码里面也没有注释


------解决方案--------------------
非成对出现,那就不符合XML规范了吧,用KXML能行吗
------解决方案--------------------
提醒一句 使用KXML并不难,但KXML中处理中文时出现乱码的问题就难了
我原先也是使用KXML解析,但是用了很多方式去解决中文乱码问题,最后当用手机显示出来时还是会有部分中文汉字解析出来后是乱码,没办法只好自己开发了一个简单的XML解析器。
关于KXML的使用网上有很多例子,看看例子就知道怎么做了。
------解决方案--------------------
建议用POLISH里面的解析XML的。很不错。
------解决方案--------------------
Element root = doc.getRootElement();

int child_count = root.getChildCount();

for (int i = 0; i < child_count; i++) {
Element kid = root.getElement(i);
if (kid.getName().equals( "r ")) {
int address_item_count = kid.getChildCount();
for (int j = 0; j < address_item_count; j++) {
Element gid = kid.getElement(j);
if (gid.getName().equals( "error ")) {
String resultCode = gid.getAttribute( "code ").getValue();
}
}
}
}
------解决方案--------------------
lz: xml语言本来就是格式良好的语言。如果标志不是成对出现的话,如html中 <p> 。就不能用KXML解析。
------解决方案--------------------

到 j2medev.com 里面有· 我前段时间刚看到过·
------解决方案--------------------
public String XmlDecoding(String str) throws IOException{
String temp = " ";
// Reader reader = new InputStreamReader(din);
XmlParser parser = new XmlParser(new InputStreamReader(this.getClass().getResourceAsStream(str)));
ParseEvent pe = null;
parser.read();
parser.skip();
int i = 0;
ParseEvent event = null;
do {
try {
event = parser.read ();

if(event.getType()==Xml.START_TAG) {
String name = event.getName();

temp += " < "+name + "> "+event.getAttributeCount()+ "\n ";
if(name.equals( "Module ")){

module.put(Integer.toString(i),new Module(Integer.parseInt(event.getValue( "h ")),Integer.parseInt(event.getValue( "w ")),Integer.parseInt(event.getValue( "x ")),Integer.parseInt(event.getValue( "y ")),Integer.parseInt(event.getValue( "image_id "))));
// String att = event.getValue( "h ");
// temp += " h = "+att+ "\n ";
i++;
}
}

if(event.getType()== Xml.TEXT) {
String name = event.getText();
name = name.trim();
temp += name + "\n ";
}

if(event.getType()== Xml.END_TAG) {
String name = event.getName();
temp += " </ "+name + "> \n ";
}

}
catch(IOException ex) {
System.out.println( "Exception occured ");
}
}
while (event.getType() != Xml.END_DOCUMENT);
System.out.println(temp);
return temp;
}