`
javaz
  • 浏览: 33379 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

使用js对xml格式的字符串进行格式化输出。

    博客分类:
  • XML
阅读更多
//格式化xml
	function formatXml(){
           var str = $('xml').value;		
         //去除输入框中xmll两端的空格。 
           str = str.replace(/^\s+|\s+$/g,""); 
	       var source = new ActiveXObject("Msxml2.DOMDocument"); 
	      //装载数据 
	       source.async = false; 
	       source.loadXML(str);    
		   // 装载样式单 
		   var stylesheet = new ActiveXObject("Msxml2.DOMDocument"); 
		   stylesheet.async = false; 
		   stylesheet.resolveExternals = false; 
		   stylesheet.load("jsp/xmlStyle.xsl"); 
		   
		   // 创建结果对象 
		   var result = new ActiveXObject("Msxml2.DOMDocument"); 
		   result.async = false; 
		   
		   // 把解析结果放到结果对象中方法1 
		   source.transformNodeToObject(stylesheet, result); 
		   //alert(result.xml);
		   if(result.xml==''||result.xml==null){
				alert('xml报文格式错误,请检查');
				return false;
			   }
		   var finalStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n" +result.xml;
		   $('xml').value =finalStr;
	}

   除上述的js代码之外,还需要创建一个xsl格式文件。

<?xml version="1.0" ?>
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
  <xsl:output method = "xml" omit-xml-declaration = "yes" indent = "yes" encoding="utf-8"/> 
   <xsl:template match="/ | @* | node()"> 
   <xsl:copy> 
   <xsl:apply-templates select="@* | node()"/> 
   </xsl:copy> 
   </xsl:template> 
  </xsl:stylesheet> 

  

    上述代码来自语孟子的文章,添加部分内容解释:

 

omit-xml-declaration = "yes"

    可选。 "yes" 规定在输出中省略 XML 声明 (<?xml...?>)。 "no" 规定应在输出中包含 XML 声明。默认是 "no"。

 

 

indent = "yes"

    可选。在输出结果树时是否要增加空白;该值必须为 yes 或 no。Netscape 6 不支持该属性。 

 

 

 <xsl:template match="/ | @* | node()"> 

    match中内容定义该模板包括 xml的全部分支,包括节点和属性。

 

 

<xsl:copy>

   将中间的内容拷贝到输出文件。

 

 

 <xsl:apply-templates select="@* | node()"/> 

    <xsl:apply-templates> 元素可把一个模板应用于当前的元素或者当前元素的子节点。

    这里选择的xpath为xml全部属性以及任何类型的节点。

 

    对于各个节点的作用以及使用,可以访问

    http://www.w3school.com.cn/xsl/xsl_w3celementref.asp 。里面讲的都很细致。

 

 

 

 

 

分享到:
评论
2 楼 javaz 2010-05-14  
guojianpeng9806 写道
功能很强大,值得学习

谢谢夸奖。。呵呵呵。
1 楼 guojianpeng9806 2010-05-14  
功能很强大,值得学习

相关推荐

    格式化xml字符串,并生成xml文件

    而`XMLFormatUtil.java`文件则可能包含了对XML字符串进行格式化的函数。在Java中,可以使用`javax.xml.transform`包中的`Transformer`类来设置格式化参数,如缩进、换行等,使XML更加易读。 ```java import javax....

    将string类型xml字符串转为json字符串

    本篇文章将详细讲解如何将string类型的XML字符串转换为JSON字符串,并介绍相关的技术知识。 首先,理解XML和JSON的基本结构是至关重要的。XML是一种树形结构的标记语言,通过标签来定义元素和属性,例如: ```xml ...

    Java格式化Xml文件

    最后,将格式化后的XML字符串返回,供后续使用。在`XmlFormatUtils`类中,这个过程可能封装在一个静态方法里,如`formatXmlFile(String xmlFilePath)`,并返回`formattedXmlString`。 通过上述步骤,我们能够实现...

    Json和Xml离线格式化工具

    "Json和Xml离线格式化工具"是针对这两种格式的解析和美化工具,可以在没有网络连接的情况下对JSON和XML数据进行格式化,使得数据更易于阅读和理解。 JSON格式化工具通常包含以下功能: 1. **代码高亮**:为键值对和...

    Javascript格式化并高亮xml字符串的方法及注意事项

    在JavaScript中,处理XML数据时,我们经常需要将XML字符串格式化并高亮显示,以增强可读性。本文将详细介绍如何使用DOMParser解析XML字符串,并递归遍历XML树来实现这一目标。 首先,XML(Extensible Markup ...

    xml_format.rar_javascript_xml格式化

    正则表达式在JavaScript中非常强大,可以用来处理字符串的模式匹配和替换,非常适合进行文本格式化的任务。 描述中提到这个工具"可用于emeditor插件",意味着它可以作为一个编辑器扩展,帮助用户在emeditor中快速...

    Json字符串格式化工具

    标题中的"Json字符串格式化工具"指的是用于美化或格式化JSON数据的软件或在线服务。这类工具可以帮助开发者将原始的、紧凑的JSON字符串转换成可读性更强的格式,通过增加缩进和换行来清晰地展示数据结构,便于理解和...

    js的XML解析器 可以解析XMl文件和XML字符串

    JavaScript中的XML解析器是用于处理XML数据的关键工具,它允许开发者在浏览器环境中解析XML文档或者XML字符串,从而在Web应用中有效地使用这些数据。XML(eXtensible Markup Language)是一种结构化数据语言,常用于...

    前端基于xml报文格式化工具

    1. **格式化**:将原始的XML字符串按照标准的XML格式重新排列,使其更加易于阅读。这包括缩进、换行,以及正确排序属性等。 2. **高亮显示**:通过颜色区分不同的XML元素、属性和文本,提升代码的可读性。通常,...

    JavaScript格式化json和xml的方法示例

    3. 输出格式化后的XML字符串。 使用原生JavaScript完成上述步骤可能需要一些复杂的操作,因此在实际开发中,我们可能会使用第三方库,比如 `jsdom` 或者服务器端的 `DOMDocument` 对象,来更方便地操作XML。 ### ...

    Xml_Json_Html美化格式化工具_V3.0源码

    JSON格式化工具需要将紧凑的JSON字符串转换为人类易读的格式,这通常涉及到JSON.NET库的使用,该库提供了解析和序列化JSON的强大功能。通过JsonTextReader和JsonTextWriter,可以实现JSON的读取和格式化输出。 再者...

    javascript解析xml字符串的函数

    总的来说,JavaScript解析XML字符串的关键在于处理不同浏览器的兼容性问题,使用`try...catch`结合`ActiveXObject`和`DOMParser`可以有效地实现这一目标。同时,理解XML文档的结构和DOM(文档对象模型)的概念对于...

    javascript加载xml文件和xml字符串的类

    本篇文章将深入探讨如何使用JavaScript加载XML文件和XML字符串,主要涉及DOM和XMLHttpRequest两种方法。 **1. DOM(Document Object Model)方式加载XML** DOM是一种标准,它允许程序和脚本动态更新、添加、删除和...

    JS解析xml文件为字符串

    总结来说,JavaScript通过`XMLHttpRequest`或`fetch`获取XML文件,使用`DOMParser`解析为DOM,然后通过DOM API进行操作,最后可能需要使用`XMLSerializer`序列化回XML字符串。在处理过程中,注意错误处理和选择适合...

    XML格式化函数(JS) + 解析XML文本为Doc函数

    在JavaScript中处理XML时,有时我们需要对XML字符串进行格式化,使其更易于阅读,或者将XML文本解析成DOM对象以便进一步操作。本篇将详细讲解如何在JavaScript中实现XML格式化函数和解析XML文本为DOM文档的功能。 ...

    json,xml格式化html显示

    1. 解析JSON或XML:使用JavaScript的`JSON.parse()`函数可以解析JSON字符串为JavaScript对象,而XML解析则需要借助DOM(Document Object Model)或者第三方库如jQuery的`$.parseXML()`。 2. 构建HTML结构:根据解析...

    Editplus添加xml,json格式化支持

    Editplus的JSON格式化功能可以将无格式的JSON字符串转换为易于阅读的格式,使键值对对齐,增加缩进,方便快速理解和调试。 要实现这些功能,我们可以利用提供的压缩包文件。"JSON格式化插件.rar"很可能是为Editplus...

    JS实现XML转JSON格式互转压缩包

    `xml2js`函数接收一个XML字符串,解析成DOM,然后将DOM转换为JavaScript对象(即JSON格式)。转换过程中,库会处理XML的层级结构,将元素映射为对象,属性映射为对象的属性,文本内容作为对象的值。反之,`js2xml`则...

    java对象转换为json字符串或字符串数组

    在Java开发中,将Java对象转换为JSON字符串或字符串数组是一项常见的任务,特别是在与前端交互、数据存储或者网络传输时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...

Global site tag (gtag.js) - Google Analytics