`

XML or text declaration not at start of entity异常的原因

阅读更多

今天在做XML解析的时候,总是给我报

XML Parsing Error: XML or text declaration not at start of entity

 

的错误,后来查了下讲大概意思是android中解析的时候xml文件格式问题。

 

在文件的最前端 即<?xml version="1.0" encoding="UTF-8"?>前面不能有空格。

 

修改即好。

 

xml

  <?xml version="1.0" encoding="UTF-8" ?> 
- <msg>
  <name>nico</name> 
  <des>male</des> 
  </msg>

 

ParserUtil

package com.nico;

import java.io.InputStream;

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;

import android.util.Xml;

public class ParserUtil {

	private String myDes = " ";
	public String getDes(InputStream is){
		XmlPullParser parser = Xml.newPullParser();
		try {
			parser.setInput(is, "utf-8");
			int event = parser.getEventType();
			while(event!=XmlPullParser.END_DOCUMENT)
			{
				switch(event)
				{
				case XmlPullParser.START_TAG:
					String name = parser.getName();
					System.out.println("--------456---------->"+name);
					if("des".equals(name))
					{
						myDes = parser.nextText();
						return myDes;
					}
					break;
				}
				event = parser.next();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return myDes;
	}
}

 

TestActivity

package com.nico;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;

public class Test extends Activity {
	Handler mhandler = new Handler();

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		mhandler.post(new Runnable() {

			@Override
			public void run() {
				URL url;
				try {
					url = new URL("http://10.0.0.130:8080/msg.xml");
					HttpURLConnection conn = (HttpURLConnection) url
							.openConnection();
					InputStream is = conn.getInputStream();
					ParserUtil util = new ParserUtil();
					String ss = util.getDes(is);
					System.out.println("-------123---------->" + ss);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
}

 

分享到:
评论

相关推荐

    XML Text Declaration:支持XML文本声明处理-开源

    在"XML Text Declaration:支持XML文本声明处理-开源"这个主题中,我们讨论的是一款开源库,它的主要功能是处理XML文本声明。这个库的目的是确保无论输入的文本编码为何,都能有效地处理并转化为UTF-8编码,这样可以...

    ESWA的Declaration of Interest statement(利益声明)word版

    "ESWA的Declaration of Interest statement(利益声明)word版"是一个重要的文件,它涉及到作者在发表论文时必须公开的任何可能影响其研究成果公正性的财务或个人关系。这份声明通常会伴随论文一同发布,以确保读者...

    修复RzBorder.pas Number of elements differs from declaration

    RzBorder.pas Number of elements differs from declaration TRzLEDCharacters 在装完Raize控件之后编译老是出如下错误: [Pascal Error] RzBorder.pas(1429): E2072 Number of elements (125) differs from ...

    Declaration of academic integrity form

    requirement analysis •conceptual database design •choice of the DBMS •data model mapping •physical design •implementation

    西门子_CE DECLARATION of CONFORMITY.pdf

    标题中提到的“西门子_CE DECLARATION of CONFORMITY.pdf”指的是西门子公司为某产品家族出具的符合性声明文件(CE Declaration of Conformity),这份文件表明了该产品家族符合欧洲共同体的相关指令,并且已经通过...

    C++完整解析XML

    - XML结构:XML文档由元素(Element)、属性(Attribute)、文本内容(Text Content)和声明(Declaration)组成。元素是XML的最基本单位,通过嵌套形成树状结构。 - 名空间(Namespace):用于避免元素名冲突,...

    xml文件存储及读取

    - 声明(Declaration):XML文档的开头通常包含一个声明,如`&lt;?xml version="1.0" encoding="UTF-8"?&gt;`。 2. C#中的XML处理库: - System.Xml命名空间:包含了处理XML的类和方法,如XmlDocument、XmlNode、...

    Python读写XML文件实例

    tree.write("output.xml", encoding="utf-8", xml_declaration=True) ``` 在这个例子中,我们首先创建了一个名为"Root"的根元素,然后添加了两个子元素"Child1"和"Child2",并分别设置了它们的属性和文本内容。最后...

    XML简介-认识xml

    ### XML简介及应用 #### 一、XML与HTML的区别 1. **用途的不同**: - HTML:主要用于网页展示,其设计初衷是为了呈现文本信息,让浏览器能够解析并以友好的方式显示出来。 - XML:则更多地用于数据交换和存储。...

    xml学习手册 xml学习资料

    在XML学习手册中,可能会详细介绍XML的声明(Document Type Declaration, DTD)和XML Schema,它们是用于定义XML文档结构的规范。DTD允许定义元素和属性的类型,以及元素间的约束关系;XML Schema则更现代,提供了更...

    XML文件读写Demo.zip

    tree.write('source/book.xml', encoding='utf-8', xml_declaration=True) ``` 这个"XML文件读写Demo"可能就包含了类似的代码示例,演示了如何在实际项目中操作XML文件。学习和理解这些基本操作对于处理XML数据至关...

    Learning XML

    1. XML语法:XML文档结构严谨,包含声明(document type declaration)、元素(elements)、属性(attributes)、文本内容(text content)以及注释(comments)。例如,`&lt;?xml version="1.0" encoding="UTF-8"?&gt;` ...

    生成xml 文件 后并压缩

    tree.write('books.xml', encoding='utf-8', xml_declaration=True) ``` 二、导入XML文件到数据库 1. **SQL命令导入** 许多数据库系统,如MySQL、PostgreSQL,提供直接将XML文件导入到数据库的SQL命令。例如,...

    C# LinqXML添加声明到XML文件

    在C#编程中,LINQ to XML是一种强大的API,用于创建、读取和修改XML文档。它是.NET Framework 3.5引入的新特性,为处理XML数据提供了简洁且高效的语法。当我们需要向XML文件中添加XML声明时,LINQ to XML提供了一种...

    python_XML-6-17.rar_python 文件_python xml_python读写xml_python读写xm

    `xml_declaration=True`参数会添加XML声明,如`&lt;?xml version="1.0" encoding="utf-8"?&gt;`。 处理XML数据: 在实际应用中,我们可能需要提取XML数据进行进一步处理。`ElementTree`提供了多种方法,如`find()`、`find...

    几种不同的方法读写XML文件

    XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它以其结构化、可扩展性和易于解析的特点广泛应用于数据交换、配置文件、数据库设计等领域。本篇文章将详细探讨几种不同的方法来读写XML文件...

    xml网页制基础作教

    1. **声明(Declaration)**:XML文档通常以 `&lt;?xml version="1.0" encoding="UTF-8"?&gt;` 开始,声明文档的版本和编码方式。 2. **文档类型定义(DTD, Document Type Definition)** 或者 **XML Schema(XSD)**:...

    python处理XML文档

    tree.write('output.xml', encoding='utf-8', xml_declaration=True) ``` 在处理XML文档时,还应注意XML的命名空间(namespace)。ElementTree库允许使用`nsmap`参数处理命名空间。例如,`ET.QName('{...

    XML增删改查操作实例

    XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它以其结构化、自解释性和可扩展性而被广泛应用于Web应用程序、配置文件、数据交换等多个领域。在处理XML文件时,通常会涉及到对XML文档的四...

    Xml基础教程 高怡新 ppt 源码

    3. **XML文档结构**:包括XML声明(XML Declaration),如`&lt;?xml version="1.0" encoding="UTF-8"?&gt;`,以及文档类型定义(DTD,Document Type Definition)或XML Schema,它们为XML文档提供了结构约束。 4. **XML...

Global site tag (gtag.js) - Google Analytics