XML解析
发布时间:2020-12-16 00:06:31 所属栏目:百科 来源:网络整理
导读:我们先来了解下XML: 什么是 XML呢?简单来说可以总结为下面几点: XML 指可扩展标记语言(EXtensible Markup Language) XML 的设计宗旨是传输数据 XML 标签没有被预定义。您需要自行定义标签。 XML 是 W3C 的推荐标准 主要是应用Web前端开发的许多方面,常
我们先来了解下XML: 什么是 XML呢?简单来说可以总结为下面几点: XML 指可扩展标记语言(EXtensible Markup Language)XML 的设计宗旨是传输数据 XML 标签没有被预定义。您需要自行定义标签。 XML 是 W3C 的推荐标准 主要是应用Web前端开发的许多方面,常用语简化数据的存储和共享。 每种语言都有自己的语法规则,XML也不例外,XML的语法是:所有XML的元素都必须有关闭标签 XML 标签对大小写敏感,必须正确地嵌套 XML规则:
新特性HTML中的一些有趣的新特性:
要写的内容:
<?xml version="1.0" encoding="UTF-8"?>
<books> <!-- 这本书一般般 --> <book lang="zh" > <isbn>ABC-135-4BC</isbn> <name>十万个为什么</name> <price>80.00</price> <author> "匿 <> 名" </author> <description> <![CDATA[ 这是一本好书: 1. 价钱 < 平均价钱 2. 鳄鱼为什么吞石块? 鳄鱼的胃很柔软,它要借助石块来磨碎食物中的骨头和硬物。鳄鱼吞食的石块重量约为其体重的1%。 3. 海鱼为什么不咸? 海洋鱼类具有很强的排盐能力,它们除了从肾排掉一小部分盐外,还有专门的排盐器官,即位于鳃片中的“泌氯细胞”。 4. 水果为什么能解酒? 水果里含有机酸,而酒里的主要成分是乙醇,有机酸能与乙酸相互作用而形成酯类物质从而达到解酒的目的。 5. 含羞草为什么会“害羞”? 含羞草的叶枕里含有充足的水分,有外物触到叶子时,叶枕中的水流向两边,叶枕瘪了,叶子就垂下来了。 ]]> </description> </book> <book lang="zh" > <isbn>ABC-145-4BC</isbn> <name>爱你一万年</name> <price>180.00</price> <author>匿名</author> </book> </books>
解析文件的代码:
package cnte.du.android_xml;
import java.io.IOException; import java.io.InputStream; import java.util.Iterator; import java.util.List; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import android.os.Bundle; import android.app.Activity; import android.content.res.AssetManager; import android.util.Log; import android.view.Menu; import android.view.View; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** * 监听 * @param view */ public void doClick(View view){ switch (view.getId()) { case R.id.button1: try { parseBooksXml(); } catch (Exception e) { e.printStackTrace(); } break; } } /** * 解析图书xml文档 assets/books.xml */ private void parseBooksXml() throws Exception{ //读取assets目录下的books.xml文档 AssetManager assetManager = getAssets(); InputStream is = assetManager.open("books.xml"); //1. 获取Document对象 SAXReader reader = new SAXReader(); Document document = reader.read(is); //2. 获取根节点 Element root = document.getRootElement(); //获取root下的所有book标签 List<Element> books = root.elements(); //遍历 for(Element e : books){ //e代表一个book标签 解析并打印子标签的内容 Iterator<Element> ite = e.elementIterator(); while(ite.hasNext()){ Element childElement = ite.next(); Log.i("info","标签名:"+childElement.getName()+" 标签内容:"+childElement.getTextTrim()); } } } }
学艺不精,有不对的请多多指点迷津。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |