看了mars老师做的视频,其中有个关于xml解析的。
以下是代码package mars.xml;import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;public class MyContentHandler extends DefaultHandler {
String hisname, address, money, sex, status;
String tagName; public void startDocument() throws SAXException {
System.out.println("````````begin````````");
} public void endDocument() throws SAXException {
System.out.println("````````end````````");
} public void startElement(String namespaceURI, String localName,
String qName, Attributes attr) throws SAXException {
tagName = localName;
if (localName.equals("worker")) {
//获取标签的全部属性
for (int i = 0; i < attr.getLength(); i++) {
System.out.println(attr.getLocalName(i) + "=" + attr.getValue(i));
}
}
} public void endElement(String namespaceURI, String localName, String qName)
throws SAXException {
//在workr标签解析完之后,会打印出所有得到的数据
tagName = "";
if (localName.equals("worker")) {
this.printout();
}
}
public void characters(char[] ch, int start, int length)
throws SAXException {
if (tagName.equals("name"))
hisname = new String(ch, start, length);
else if (tagName.equals("sex"))
sex = new String(ch, start, length);
else if (tagName.equals("status"))
status = new String(ch, start, length);
else if (tagName.equals("address"))
address = new String(ch, start, length);
else if (tagName.equals("money"))
money = new String(ch, start, length);
} private void printout() {
System.out.print("name: ");
System.out.println(hisname);
System.out.print("sex: ");
System.out.println(sex);
System.out.print("status: ");
System.out.println(status);
System.out.print("address: ");
System.out.println(address);
System.out.print("money: ");
System.out.println(money);
System.out.println();
}}还有
package mars.xml;import java.io.StringReader;import javax.xml.parsers.SAXParserFactory;import mars.utils.HttpDownloader;import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;public class XMLActitity extends Activity {
    /** Called when the activity is first created. */
private Button parseButton ;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        parseButton = (Button)findViewById(R.id.parseButton);
        parseButton.setOnClickListener(new ParseButtonListener());
    }
    
    class ParseButtonListener implements OnClickListener{ @Override
public void onClick(View v) {
HttpDownloader hd = new HttpDownloader();
String resultStr = hd.download("http://192.168.1.107:8081/voa1500/test.xml");
System.out.println(resultStr);
try{
//创建一个SAXParserFactory
SAXParserFactory factory = SAXParserFactory.newInstance();
XMLReader reader = factory.newSAXParser().getXMLReader();
//为XMLReader设置内容处理器
reader.setContentHandler(new MyContentHandler());
//开始解析文件
reader.parse(new InputSource(new StringReader(resultStr)));
}
catch(Exception e){
e.printStackTrace();
}
}
    
    }
}
这个代码实现的是xml文件的解析
我想把解析的内容提取出来送到其他的Activity中使用,本以为可以用intent方法,可是用intent方法时总会说结构体没有被定义。网上找了很久,基本都是说Activity之间传值的,像这种如何在自己定义的类中间拿出值来呢?本人新接触Android,可能有些问题比较的没有深度,望各位大大海涵。