实现浏览本地xml文件,将文件内容全部显示在html的textarea中,但目前编码还是显示不出来
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<script type='text/javascript'>
function showcurcity(){
var url = document.getElementById("file1").value;
if(url==null||url==''){
alert("请先选择文件!");
return;
}
var xmlDoc = null;
if(window.ActiveXObject){
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false"
xmlDoc.load(url);
}
document.getElementById("datastr").value=xmlDoc.xml;
}
</script>
</HEAD>
<BODY>
<input type="file" id="file1" /><br/>
<textarea name="datastr" id="datastr" cols="45" rows="8"></textarea>
<input type="button" value="显示xml" onclick="showcurcity();"></button>
</BODY>
</HTML>
当时参考的网址:http://blog.sina.com.cn/s/blog_5517d0cf0100kpch.html
1、检测当前浏览器支不支持XML DOM
<script type="text/javascript">
function createXMLDOM()
{
var arrsignatures=["MSXML2.DOMDocument.5.0","MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0","MSXML2.DOMDocument","Microsoft.XmlDom"];
for(var i=0;i<arrsignatures.length;i++)
{
try
{
var oXmlDom=new ActiveXObject(arrsignatures[i]);//匹配客户端版本。
return oXmlDom;
}
catch(oError)
{}
}
throw new Error("MSXML not installed on your system.");
}
var oXml=createXMLDOM();//创建一个XML DOM对象。
alert(oXml);
</script>
2、载入XML
(1)oXml.load("XXX.xml");主要用于从服务器上载入XML文件,且该方法只能载入与包含JS的页面存储在同一服务器上的XML文件,而不能跨服务器载入文件。
(2)oXml.loadxml("<element></element>");用于直接向xml dom对象当中输入XML字符串。
<script type="text/javascript">
var oXml=createXMLDOM();
oXml.async=false;//以同步模式载入文件。
oXml.load("xxx.xml");
alert("root is :"+oXml.documentElement.tagName);
alert("root has children number:"+oXml.documentElement.childNodes.length);
</script>
(3)常以异步的方式载入文件,用readyState来指定载入的状态,用onreadystatechange事件来响应结果。
readyState值:
0:DOM尚未初始化。
1:DOM正在读取消息。
2:DOM完成数据信息读取。
3:DOM部分可用。
4:DOM完全可用,即数据被完全载入。
<script type="text/javascript">
var oXml=createXMLDOM();
oXml.load("xxx.xml");
if(oXml.readyState==4)
{
alert(oXml.readyState);
}
</script>
或:
<script type="text/javascript">
var oXml=createXMLDOM();
oXml.load("xxx.xml");
oXml.onreadystatechange=stateChange();
function stateChange()
{
if(oXml.readyState==4)
{
alert(oXml.readyState);
}
}
</script>
3、读取XML
直接用oXML.xml就可以读取XML文件内容;
4、检测错误
直接使用parseError,会返回errorCode的值。只要errorCode!=0,则表示有错。
errorCode:表示所发生的错误类型的数字代号
filePos:错误发生在文件中的位置
line:遇到错误的行号
linePos:在遇到错误的那一行上的字符位置
reason:错误解释
srcText:造成错误的代码
url:造成错误的文件的URL
如:
<script type="text/javascript">
var oXml=createXMLDOM();
oXml.load("xxx.xml");
if(oXml.parseerror!=0)
{
var oError=oXml.parseError;
alert("error code:"+oError.errorCode+"Line:"+oError.line+"Line Pos:"+oError.linepos+"Reason:"+oError.reason);
</script>
相关推荐
我们可以使用`Load`方法加载本地或网络上的XML文件。 - **解析XML**:`XmlNode`和`XElement`对象可用于遍历XML树,提取所需信息。例如,使用`SelectNodes`或`Descendants`方法找到特定元素,`InnerText`或`Value`...
在Cocos2d-x这个强大的2D游戏开发框架中,读取本地XML文件是一项重要的功能,尤其当需要处理数据结构复杂或实现图文混排时。XML(eXtensible Markup Language)是一种标记语言,常用于存储和传输结构化数据。在Cocos...
更新XML文件通常涉及DOM(Document Object Model)解析,将XML文件加载到内存中形成一个可操作的树形结构。例如,使用Python的`lxml`库: ```python from lxml import etree # 加载XML tree = etree.parse('...
WebView是Android SDK提供的一种控件,它能够加载并显示网页内容,包括HTML、CSS、JavaScript等。在AndroidManifest.xml文件中,我们需要添加Internet权限,以确保WebView能够访问网络资源。此外,如果要加载本地...
为了在现代浏览器中读取本地XML文件,你可以使用HTML5的拖放API。用户可以选择文件,然后将其拖放到网页上的某个指定区域,从而触发事件,获取文件并读取内容。 6. **文件输入控件(File Input)**: 另一种常见...
服务器端接收到XML文档后,可以从Request对象中提取XML,解析出二进制节点,将文件内容保存到服务器的文件系统或数据库BLOB字段中。 ADO Stream对象在这一过程中起着关键作用。它允许脚本在客户端读取和操作二进制...
综上所述,"通过Schema验证XML文件格式是否正确"这个主题涵盖的内容广泛,涉及到XML基础、Schema规范、C#编程以及XML处理的技巧,对于开发和维护涉及XML数据的应用来说,这些都是必不可少的知识点。
通过监听onload事件,当文件读取完成后,我们将内容显示在id为'contentDisplay'的元素中。通过readAsText()方法,我们可以读取文件内容为文本形式。 注意,虽然这个例子没有使用AJAX直接与服务器交互,但通过...
XML的设计目标是传输和存储数据,而不是显示数据,因此它与HTML不同,HTML主要用于网页展示。XML的结构清晰、可扩展性强,使得它成为在不同系统间交换数据的理想选择。 XML解析器是读取和解释XML文档的软件工具,它...
通过这种方式,我们可以从XML文件中获取每封邮件的信息,并将其格式化为HTML文本显示在页面上。 #### 总结 通过本章节的学习,我们不仅掌握了如何利用AJAX技术从服务器获取XML文件,还学会了如何解析XML数据并将...
本例子将展示如何使用jqGrid从本地XML文件中读取数据并显示在一个表格中。 首先,我们来看`index.html`或`testjq.html`这两个HTML文件,它们是网页的主体部分。通常,这两个文件会包含jqGrid所需的CSS和JS文件引用...
这个错误通常发生在尝试远程加载 XML 文件的情况下,特别是在 ASP 应用程序中。 #### 解决方案 为了绕过这个问题,可以采用 `ServerXMLHTTP` 组件来加载 XML 文件。`ServerXMLHTTP` 组件是在 MSXML3.0 中引入的,它...
通过完成这个作业,初学者将能够掌握XML基本结构,以及如何在XML文档中实现本地超链接,这对于后续深入学习Web开发,尤其是涉及到数据交换和动态内容渲染的场景非常重要。同时,这也为理解其他基于XML的技术,如XSLT...
HTTP XML文件解析是网络通信中常见的一种技术,它结合了HTTP协议和XML(可扩展标记语言)的数据格式,广泛应用于Web服务、API交互以及数据交换等领域。本文将深入探讨在线解析HTTP XML文件的相关知识点,包括HTTP...
XML被广泛应用于数据交换、配置文件、文档存储等领域。 1. **XML文档结构定义**: - 开发者可以使用DTD(Document Type Definition)或XML Schema来定义XML文档的结构。DTD是XML的早期规范,用于定义元素和属性的...
这个"Android打开本地HTML网页AndroidStudio工程.rar"文件很可能包含了一个简单的示例项目,演示如何在Android应用中加载并显示本地HTML文件。这里我们将深入探讨实现这一功能所涉及的关键知识点。 1. **WebView...
标题中的“谷歌浏览器加载本地xml和xls报告同源错误的问题”涉及到的是Web浏览器的安全策略——同源策略(Same-Origin Policy)以及XML和XLS文件在浏览器中的处理方式。同源策略是Web浏览器的一种安全机制,它限制了...
本文实例讲述了jQuery读取XML文件内容的方法。分享给大家供大家参考。具体实现方法如下: 代码如下:<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” ...
预览时,我们可以读取文件内容并将其转化为纯文本或HTML,然后在网页或应用程序中显示。 **2. 对于XML文件**: - Java内置了DOM(Document Object Model)和SAX(Simple API for XML)解析器来处理XML。预览时,...
XML(eXtensible Markup Language)是一种用于标记数据的语言,它是HTML的补充,主要用于存储和...在实际应用中,XML常被用于数据库存储、网络通信、配置文件、软件本地化等领域,是IT行业中不可或缺的数据处理工具。