使用kxml解析xml文件(一)
这个是参照ibm网站上的文章做的。
xml源文件:
<?xml version="1.0"?>
<!DOCTYPE rss PUBLIC
"-//Netscape Communications//DTD RSS 0.91//EN"
"http://my.netscape.com/publish/formats/rss-0.91.dtd"
>
<rss version="0.91">
<channel>
<title>Meerkat: An Open2 Wire Service</title>
<link>http://meerkat.oreillynet.com</link>
<description>
Meerkat is a Web-based syndicated content reader based on RSS ("Rich Site Summary").
RSS is a fantastic, simple-yet-powerful syndication system rapidly gaining momentum.
</description></channel></rss>
解析code:
public static void traverse( XmlParser parser, String indent ) throws Exception
{
boolean leave = false;
String title = new String();
String desc = new String();
do {
ParseEvent event = parser.read ();
ParseEvent pe;
switch ( event.getType() ) {
// For example, <title>
case Xml.START_TAG:
// see API doc of StartTag for more access methods
// Pick up Title for display
System.out.println("start tag "+event.getName());
if ("title".equals(event.getName()))
{
pe = parser.read();
title = pe.getText();
}
// Pick up description for display
if ("description".equals(event.getName()))
{
pe = parser.read();
desc = pe.getText();
}
textBoxString = title + " " + desc;
traverse( parser, "" ) ; // recursion call for each <tag></tag>
break;
// For example </title?
case Xml.END_TAG:
System.out.println("end tag");
leave = true;
break;
// For example </rss>
case Xml.END_DOCUMENT:
System.out.println("end document");
leave = true;
break;
// For example, the text between tags
case Xml.TEXT:
System.out.println("text");
break;
case Xml.WHITESPACE:
System.out.println("white space");
break;
default:
System.out.println("default");
}
} while( !leave );
t.setString(
相关文档:
xml文件如下:<?xml version="1.0" encoding="gb2312"?>
<软件管理系统>
<管理员>
<用户名>明日科技</用户名>
<密码>123456</密码>
<地址>长春市</地址>
</管理员>
<管理员>
<用户名>明日软件</用户名 ......
XML 序列化可以采用从简单到复杂的多种形式。例如,可以序列化只包含公共字段和公共属性的类,如 XML 序列化简介中所示。下面的代码示例讨论各种高级方案,包括如何使用 XML 序列化生成符合特定 XML 架构 (XSD) 文档的 XML 流。
序列化数据集
除了序列化公共类的实例外,还可序列化 DataSet 的实例,如下面的代码示例所示 ......
我用ActiveXObject("Microsoft.xmldom")来装载xml文档时,竟然老是提示装载失败,后来上网搜索了下,说是不能直接包含这5个符号('><&"),必须选用&xx;方式来转义,可我找遍XML也没发现这些。
后来我独行排除,才发现有一个元素的属性值为有“|”,去除后就正常了。我真是觉得奇怪,网上也没有说 ......
http://topic.csdn.net/t/20021102/16/1142056.html
use classes in System.Xml namespace, for example (assume your xml is in string s and it contains an xmlns definition) ......
添加记录到ds保存到xml
DataSet ds = new DataSet("myDs");
//从XML中读取数据
ds.ReadXml(Serve ......